40 #define RSDP_EBDA_END_SEG 0xa000 43 #define RSDP_BIOS_START 0xe0000 46 #define RSDP_BIOS_LEN 0x20000 49 #define RSDP_STRIDE 16 75 for ( sum = 0, i = 0 ; i <
sizeof (
rsdp ) ; i++ )
82 DBGC (
rsdt,
"RSDT %#08lx found via RSDP %#08lx\n",
#define le32_to_cpu(value)
static __always_inline void copy_from_user(void *dest, userptr_t src, off_t src_off, size_t len)
Copy data from user buffer.
unsigned long user_to_phys(userptr_t userptr, off_t offset)
Convert user pointer to physical address.
#define RSDP_STRIDE
Stride at which to search for RSDP.
userptr_t phys_to_user(unsigned long phys_addr)
Convert physical address to user pointer.
#define RSDP_EBDA_END_SEG
EBDA RSDP maximum segment.
static acpi_find(uint32_t signature, unsigned int index)
Locate ACPI table.
#define RSDP_BIOS_START
Fixed BIOS area RSDP start address.
uint32_t start
Starting offset.
uint32_t userptr_t
A pointer to a user buffer.
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
#define RSDP_BIOS_LEN
Fixed BIOS area RSDP length.
Standard PC-BIOS ACPI RSDP interface.
static userptr_t rsdp_find_rsdt_range(userptr_t start, size_t len)
Locate ACPI root system description table within a memory range.
static EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_POINTER * rsdp
ACPI configuration table.
PROVIDE_ACPI_INLINE(rsdp, acpi_find)
userptr_t acpi_find_rsdt(void)
Locate ACPI root system description table.
#define RSDP_SIGNATURE
Root System Description Pointer signature.
#define UNULL
Equivalent of NULL for user pointers.
uint32_t rsdt
Physical address of RSDT.
static __always_inline userptr_t real_to_user(unsigned int segment, unsigned int offset)
Convert segment:offset address to user buffer.
uint16_t offset
Offset to command line.
Root System Description Pointer.
u8 signature
CPU signature.
int memcmp(const void *first, const void *second, size_t len)
Compare memory regions.
static userptr_t rsdp_find_rsdt(void)
Locate ACPI root system description table.
PROVIDE_ACPI(rsdp, acpi_find_rsdt, rsdp_find_rsdt)