Changeset 76cec1e in mainline for arch/ia32/src/acpi/acpi.c
- Timestamp:
- 2005-07-15T21:57:30Z (20 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- b4a4c5e3
- Parents:
- e41c47e
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
arch/ia32/src/acpi/acpi.c
re41c47e r76cec1e 85 85 void acpi_init(void) 86 86 { 87 88 87 __u8 *addr[2] = { NULL, (__u8 *) 0xe0000 }; 88 int i, j, length[2] = { 1024, 128*1024 }; 89 89 __u64 *sig = (__u64 *) RSDP_SIGNATURE; 90 90 91 91 /* 92 92 * Find Root System Description Pointer 93 94 95 93 * 1. search first 1K of EBDA 94 * 2. search 128K starting at 0xe0000 95 */ 96 96 97 97 addr[0] = (__u8 *) ebda; 98 98 for (i = (ebda ? 0 : 1); i < 2; i++) { 99 100 101 102 103 104 105 99 for (j = 0; j < length[i]; j += 16) { 100 if (*((__u64 *) &addr[i][j]) == *sig && rsdp_check(&addr[i][j])) { 101 acpi_rsdp = (struct acpi_rsdp *) &addr[i][j]; 102 goto rsdp_found; 103 } 104 } 105 } 106 106 107 107 return; 108 108 109 109 rsdp_found: 110 111 110 printf("%L: ACPI Root System Description Pointer\n", acpi_rsdp); 111 112 112 acpi_rsdt = (struct acpi_rsdt *) acpi_rsdp->rsdt_address; 113 113 if (acpi_rsdp->revision) acpi_xsdt = (struct acpi_xsdt *) ((__address) acpi_rsdp->xsdt_address); … … 138 138 struct acpi_sdt_header *h = (struct acpi_sdt_header *) acpi_rsdt->entry[i]; 139 139 140 140 map_sdt(h); 141 141 if (*((__u32 *) &h->signature[0])==*((__u32 *) &signature_map[j].signature[0])) { 142 142 if (!acpi_sdt_check((__u8 *) h))
Note:
See TracChangeset
for help on using the changeset viewer.