Includeasmx86fixmap32h

#define _FIXADDR_TOP 0xfffff000

#define FIXADDR_TOP ((unsigned long)_FIXADDR_TOP)

#define _FIXADDR_SIZE (_end_of_permanent_fixed_addresses << PAGE_SHIFT)

#define FIXADDR_START (FIXADDR_TOP - _FIXADDR_SIZE)

The advantage of fixmap addresses is that at compilation time, the address acts like a constant whose physical address is assigned when the kernel is booted. Addresses of this kind can be de-referenced faster than when normal pointers are used. The kernel also ensures that the page table entries of fixmaps are not flushed from the TLB during a context switch so that access is always made via fast cache memory.

A constant is created for each fixmap address and must appear in the enum list called fixed_addresses.

Continue reading here: Includeasmx86fixmap32h

Was this article helpful?

0 0