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


Ignore:
Timestamp:
2014-10-12T11:18:49Z (10 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
416ef49
Parents:
0b49d4e
Message:

Use exc_dispatcher() for ia64 interruptions.

This is necessary for proper cycle accounting and also CPU state
tracking (idle / non-idle). Syscalls continue to use a different
path, but call syscall_handler() eventually. The speculation
vector needs to be handled differently, outside of exc_dispatch().

File:
1 edited

Legend:

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

    r0b49d4e r9928240  
    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.