Changeset 7910cff in mainline for generic/include/mm/tlb.h


Ignore:
Timestamp:
2005-12-11T13:31:33Z (20 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
a98d2ec
Parents:
442d0ae
Message:

Finer grained TLB invalidate functions for ia32 and amd64. Not yet deployed.

File:
1 edited

Legend:

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

    r442d0ae r7910cff  
    3131
    3232#include <arch/mm/asid.h>
     33#include <arch/types.h>
    3334
    3435extern void tlb_init(void);
     
    4445#endif /* CONFIG_SMP */
    4546
     47/** Type of TLB shootdown message. */
     48enum tlb_invalidate_type {
     49        TLB_INVL_INVALID = 0,           /**< Invalid type. */
     50        TLB_INVL_ALL,                   /**< Invalidate all entries in TLB. */
     51        TLB_INVL_ASID,                  /**< Invalidate all entries belonging to one address space. */
     52        TLB_INVL_PAGE                   /**< Invalidate one entry for specified page. */
     53};
     54
     55typedef enum tlb_invalidate_type tlb_invalidate_type_t;
     56
     57/** TLB shootdown message. */
     58struct tlb_shootdown_msg {
     59        tlb_invalidate_type_t type;     /**< Message type. */
     60        asid_t asid;                    /**< Address space identifier. */
     61        __address page;                 /**< Page address. */
     62};
     63
     64typedef struct tlb_shootdown_msg tlb_shootdown_msg_t;
     65
    4666/* Export TLB interface that each architecture must implement. */
    4767extern void tlb_arch_init(void);
     
    5070extern void tlb_shootdown_ipi_send(void);
    5171
     72extern void tlb_invalidate_all(void);
     73extern void tlb_invalidate_asid(asid_t asid);
     74extern void tlb_invalidate_page(asid_t asid, __address page);
     75
    5276#endif
Note: See TracChangeset for help on using the changeset viewer.