Changeset 4512d7e in mainline for generic/include/mm/tlb.h


Ignore:
Timestamp:
2006-01-19T22:17:47Z (19 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
6461d67c
Parents:
64c44e8
Message:

New ASID management subsystem (initial work, more is required).
Some TLB invalidation changes.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • generic/include/mm/tlb.h

    r64c44e8 r4512d7e  
    3232#include <arch/mm/asid.h>
    3333#include <arch/types.h>
    34 
    35 extern void tlb_init(void);
    36 
    37 #ifdef CONFIG_SMP
    38 extern void tlb_shootdown_start(void);
    39 extern void tlb_shootdown_finalize(void);
    40 extern void tlb_shootdown_ipi_recv(void);
    41 #else
    42 #  define tlb_shootdown_start() ;
    43 #  define tlb_shootdown_finalize()      ;
    44 #  define tlb_shootdown_ipi_recv() ;
    45 #endif /* CONFIG_SMP */
     34#include <typedefs.h>
    4635
    4736/** Type of TLB shootdown message. */
     
    5039        TLB_INVL_ALL,                   /**< Invalidate all entries in TLB. */
    5140        TLB_INVL_ASID,                  /**< Invalidate all entries belonging to one address space. */
    52         TLB_INVL_PAGE                   /**< Invalidate one entry for specified page. */
     41        TLB_INVL_PAGES                  /**< Invalidate specified page range belonging to one address space. */
    5342};
    5443
     
    6453typedef struct tlb_shootdown_msg tlb_shootdown_msg_t;
    6554
     55extern void tlb_init(void);
     56
     57#ifdef CONFIG_SMP
     58extern void tlb_shootdown_start(tlb_invalidate_type_t type, asid_t asid, __address page, count_t cnt);
     59extern void tlb_shootdown_finalize(void);
     60extern void tlb_shootdown_ipi_recv(void);
     61#else
     62#  define tlb_shootdown_start(w, x, y, z)
     63#  define tlb_shootdown_finalize()
     64#  define tlb_shootdown_ipi_recv()
     65#endif /* CONFIG_SMP */
     66
     67
    6668/* Export TLB interface that each architecture must implement. */
    6769extern void tlb_arch_init(void);
    6870extern void tlb_print(void);
    69 extern void tlb_invalidate(asid_t asid);
    7071extern void tlb_shootdown_ipi_send(void);
    7172
    7273extern void tlb_invalidate_all(void);
    7374extern void tlb_invalidate_asid(asid_t asid);
    74 extern void tlb_invalidate_page(asid_t asid, __address page);
    75 
     75extern void tlb_invalidate_pages(asid_t asid, __address page, count_t cnt);
    7676#endif
Note: See TracChangeset for help on using the changeset viewer.