2 * This file is part of the coreboot project.
4 * Copyright (C) 2007-2009 coresystems GmbH
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; version 2 of the License.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
19 void acpi_create_fadt(acpi_fadt_t
* fadt
, acpi_facs_t
* facs
, void *dsdt
)
21 acpi_header_t
*header
= &(fadt
->header
);
23 memset((void *) fadt
, 0, sizeof(acpi_fadt_t
));
24 memcpy(header
->signature
, "FACP", 4);
25 header
->length
= sizeof(acpi_fadt_t
);
27 memcpy(header
->oem_id
, OEM_ID
, 6);
28 memcpy(header
->oem_table_id
, ACPI_TABLE_CREATOR
, 8);
29 memcpy(header
->asl_compiler_id
, ASLC
, 4);
30 header
->asl_compiler_revision
= 1;
32 fadt
->firmware_ctrl
= (unsigned long) facs
;
33 fadt
->dsdt
= (unsigned long) dsdt
;
35 fadt
->preferred_pm_profile
= PM_MOBILE
;
37 fadt
->x_firmware_ctl_l
= (unsigned long)facs
;
38 fadt
->x_firmware_ctl_h
= 0;
39 fadt
->x_dsdt_l
= (unsigned long)dsdt
;
42 acpi_fill_in_fadt(fadt
);
45 acpi_checksum((void *) fadt
, header
->length
);