config->table_flags |= (ACPI_HAS_TCPA | ACPI_HAS_IOAPIC |
ACPI_HAS_WAET | ACPI_HAS_PMTIMER |
ACPI_HAS_BUTTONS | ACPI_HAS_VGA |
- ACPI_HAS_8042);
+ ACPI_HAS_8042 | ACPI_HAS_CMOS_RTC);
config->acpi_revision = 4;
config->tis_hdr = (uint16_t *)ACPI_TIS_HDR_ADDRESS;
#define ACPI_FADT_LEGACY_DEVICES (1 << 0)
#define ACPI_FADT_8042 (1 << 1)
#define ACPI_FADT_NO_VGA (1 << 2)
+#define ACPI_FADT_NO_CMOS_RTC (1 << 5)
/*
* FADT Fixed Feature Flags.
fadt->iapc_boot_arch |= ACPI_FADT_NO_VGA;
if ( config->table_flags & ACPI_HAS_8042 )
fadt->iapc_boot_arch |= ACPI_FADT_8042;
+ if ( !(config->table_flags & ACPI_HAS_CMOS_RTC) )
+ {
+ if ( fadt->header.revision < 5 )
+ {
+ printf("ACPI_FADT_NO_CMOS_RTC requires FADT revision 5\n");
+ return -1;
+ }
+ fadt->iapc_boot_arch |= ACPI_FADT_NO_CMOS_RTC;
+ }
set_checksum(fadt, offsetof(struct acpi_header, checksum), fadt_size);
nr_secondaries = construct_secondary_tables(ctxt, secondary_tables,
#define ACPI_HAS_BUTTONS (1<<11)
#define ACPI_HAS_VGA (1<<12)
#define ACPI_HAS_8042 (1<<13)
+#define ACPI_HAS_CMOS_RTC (1<<14)
struct xen_vmemrange;
struct acpi_numa {