Changeset 235d31d in mainline for kernel/arch/ia64/src/mm/tlb.c


Ignore:
Timestamp:
2014-12-22T17:47:40Z (9 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
8c7d5ad
Parents:
eae91e0 (diff), 759ea0d (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge the CHT pre-integration branch

This branch contains:

  • the merge of lp:~adam-hraska+lp/helenos/rcu, which brings:
  • a new preemptible kernel RCU variant called A-RCU,
  • a preemptible variant of Podzimek's non-preemptible kernel RCU and
  • a new variant of usersace RCU,
  • a new concurrent hash table (CHT) implementation based on RCU,
  • a deployment of CHT in kernel futex handling,
  • a deployment of the userspace RCU in the implementation of upgradable futexes,

all described in Adam Hraska's master thesis named Read-Copy-Update
for HelenOS, defended in 2013 at MFF UK; furthemore, the branch
fixes two synchronization bugs in condvars and waitq, respectively:

  • revid:adam.hraska+hos@gmail.com-20121116144921-3to9u1tn1sg07rg7
  • revid:adam.hraska+hos@gmail.com-20121116173623-km7gwtqixwudpe66
  • build fixes required to pass make check
  • overhaul of ia64 and sparc64 trap handling, to allow exc_dispatch() to be used now when the kernel is more picky about CPU state accounting
  • an important fix of the sparc64/sun4v preemptible trap handler
  • various other fixes of issues discovered on non-x86 architectures
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/ia64/src/mm/tlb.c

    reae91e0 r235d31d  
    477477/** Instruction TLB fault handler for faults with VHPT turned off.
    478478 *
    479  * @param vector Interruption vector.
    480  * @param istate Structure with saved interruption state.
    481  *
    482  */
    483 void alternate_instruction_tlb_fault(uint64_t vector, istate_t *istate)
     479 * @param n Interruption vector.
     480 * @param istate Structure with saved interruption state.
     481 *
     482 */
     483void alternate_instruction_tlb_fault(unsigned int n, istate_t *istate)
    484484{
    485485        uintptr_t va;
     
    566566/** Data TLB fault handler for faults with VHPT turned off.
    567567 *
    568  * @param vector Interruption vector.
    569  * @param istate Structure with saved interruption state.
    570  *
    571  */
    572 void alternate_data_tlb_fault(uint64_t vector, istate_t *istate)
     568 * @param n Interruption vector.
     569 * @param istate Structure with saved interruption state.
     570 *
     571 */
     572void alternate_data_tlb_fault(unsigned int n, istate_t *istate)
    573573{
    574574        if (istate->cr_isr.sp) {
     
    623623 * This fault should not occur.
    624624 *
    625  * @param vector Interruption vector.
    626  * @param istate Structure with saved interruption state.
    627  *
    628  */
    629 void data_nested_tlb_fault(uint64_t vector, istate_t *istate)
     625 * @param n Interruption vector.
     626 * @param istate Structure with saved interruption state.
     627 *
     628 */
     629void data_nested_tlb_fault(unsigned int n, istate_t *istate)
    630630{
    631631        ASSERT(false);
     
    634634/** Data Dirty bit fault handler.
    635635 *
    636  * @param vector Interruption vector.
    637  * @param istate Structure with saved interruption state.
    638  *
    639  */
    640 void data_dirty_bit_fault(uint64_t vector, istate_t *istate)
     636 * @param n Interruption vector.
     637 * @param istate Structure with saved interruption state.
     638 *
     639 */
     640void data_dirty_bit_fault(unsigned int n, istate_t *istate)
    641641{
    642642        uintptr_t va;
     
    665665/** Instruction access bit fault handler.
    666666 *
    667  * @param vector Interruption vector.
    668  * @param istate Structure with saved interruption state.
    669  *
    670  */
    671 void instruction_access_bit_fault(uint64_t vector, istate_t *istate)
     667 * @param n Interruption vector.
     668 * @param istate Structure with saved interruption state.
     669 *
     670 */
     671void instruction_access_bit_fault(unsigned int n, istate_t *istate)
    672672{
    673673        uintptr_t va;
     
    694694/** Data access bit fault handler.
    695695 *
    696  * @param vector Interruption vector.
    697  * @param istate Structure with saved interruption state.
    698  *
    699  */
    700 void data_access_bit_fault(uint64_t vector, istate_t *istate)
     696 * @param n Interruption vector.
     697 * @param istate Structure with saved interruption state.
     698 *
     699 */
     700void data_access_bit_fault(unsigned int n, istate_t *istate)
    701701{
    702702        uintptr_t va;
     
    729729/** Data access rights fault handler.
    730730 *
    731  * @param vector Interruption vector.
    732  * @param istate Structure with saved interruption state.
    733  *
    734  */
    735 void data_access_rights_fault(uint64_t vector, istate_t *istate)
     731 * @param n Interruption vector.
     732 * @param istate Structure with saved interruption state.
     733 *
     734 */
     735void data_access_rights_fault(unsigned int n, istate_t *istate)
    736736{
    737737        uintptr_t va;
     
    753753/** Page not present fault handler.
    754754 *
    755  * @param vector Interruption vector.
    756  * @param istate Structure with saved interruption state.
    757  *
    758  */
    759 void page_not_present(uint64_t vector, istate_t *istate)
     755 * @param n Interruption vector.
     756 * @param istate Structure with saved interruption state.
     757 *
     758 */
     759void page_not_present(unsigned int n, istate_t *istate)
    760760{
    761761        uintptr_t va;
Note: See TracChangeset for help on using the changeset viewer.