Lines Matching +full:0 +full:xfec00000
71 #define BHYVE_ADDRESS_IOAPIC 0xFEC00000
72 #define BHYVE_ADDRESS_HPET 0xFED00000
73 #define BHYVE_ADDRESS_LAPIC 0xFEE00000
116 if (fprintf(__VA_ARGS__) < 0) goto err_exit
119 if (fflush(x) != 0) goto err_exit
142 return (0); in acpi_tables_add_device()
167 return (0); in acpi_add_vcpu_affinity()
178 if (dsdt_error != 0) in dsdt_line()
181 if (strcmp(fmt, "") != 0) { in dsdt_line()
182 if (dsdt_indent_level != 0) in dsdt_line()
185 if (vfprintf(dsdt_fp, fmt, ap) < 0) { in dsdt_line()
203 assert(dsdt_indent_level >= 0); in dsdt_indent()
219 dsdt_line(" 0x%04X, // Range Minimum", iobase); in dsdt_fixed_ioport()
220 dsdt_line(" 0x%04X, // Range Maximum", iobase); in dsdt_fixed_ioport()
221 dsdt_line(" 0x01, // Alignment"); in dsdt_fixed_ioport()
222 dsdt_line(" 0x%02X, // Length", length); in dsdt_fixed_ioport()
239 dsdt_line(" 0x%08X, // Address Base", base); in dsdt_fixed_mem32()
240 dsdt_line(" 0x%08X, // Address Length", length); in dsdt_fixed_mem32()
248 dsdt_error = 0; in basl_fwrite_dsdt()
249 dsdt_indent_level = 0; in basl_fwrite_dsdt()
255 "\"BHYVE \", \"BVDSDT \", 0x00000001)"); in basl_fwrite_dsdt()
259 dsdt_line(" 0x05,"); in basl_fwrite_dsdt()
272 dsdt_line(" Name (_UID, 0)"); in basl_fwrite_dsdt()
276 dsdt_fixed_mem32(0xFED00000, 0x400); in basl_fwrite_dsdt()
292 if (dsdt_error != 0) in basl_fwrite_dsdt()
297 return (0); in basl_fwrite_dsdt()
308 err = 0; in basl_open()
318 if (bf->fd > 0) { in basl_open()
345 err = basl_open(in, 0); in basl_start()
370 if (fstat(fd, &sb) < 0) in basl_load()
377 if (read(fd, addr, sb.st_size) < 0) in basl_load()
382 uint8_t name[ACPI_NAMESEG_SIZE + 1] = { 0 }; in basl_load()
383 memcpy(name, addr, sizeof(name) - 1 /* last char is '\0' */); in basl_load()
388 return (0); in basl_load()
399 err = basl_start(&io[0], &io[1]); in basl_compile()
401 err = (*fwrite_section)(io[0].fp); in basl_compile()
418 io[1].f_name, io[0].f_name); in basl_compile()
429 basl_end(&io[0], &io[1]); in basl_compile()
442 err = 0; in basl_make_templates()
447 if ((tmpdir = getenv("BHYVE_TMPDIR")) == NULL || *tmpdir == '\0' || in basl_make_templates()
448 (tmpdir = getenv("TMPDIR")) == NULL || *tmpdir == '\0') { in basl_make_templates()
456 while (len > 0 && basl_template[len - 1] == '/') in basl_make_templates()
486 return (0); in build_dsdt()
498 memset(&facs, 0, sizeof(facs)); in build_facs()
504 return (0); in build_facs()
516 memset(&fadt, 0, sizeof(fadt)); in build_fadt()
518 fadt.Facs = htole32(0); /* patched by basl */ in build_fadt()
519 fadt.Dsdt = htole32(0); /* patched by basl */ in build_fadt()
532 fadt.Century = 0x32; in build_fadt()
538 basl_fill_gas(&fadt.ResetRegister, ACPI_ADR_SPACE_SYSTEM_IO, 8, 0, in build_fadt()
539 ACPI_GAS_ACCESS_WIDTH_BYTE, 0xCF9); in build_fadt()
542 fadt.XFacs = htole64(0); /* patched by basl */ in build_fadt()
543 fadt.XDsdt = htole64(0); /* patched by basl */ in build_fadt()
544 basl_fill_gas(&fadt.XPm1aEventBlock, ACPI_ADR_SPACE_SYSTEM_IO, 0x20, 0, in build_fadt()
546 basl_fill_gas(&fadt.XPm1bEventBlock, ACPI_ADR_SPACE_SYSTEM_IO, 0, 0, in build_fadt()
547 ACPI_GAS_ACCESS_WIDTH_UNDEFINED, 0); in build_fadt()
548 basl_fill_gas(&fadt.XPm1aControlBlock, ACPI_ADR_SPACE_SYSTEM_IO, 0x10, in build_fadt()
549 0, ACPI_GAS_ACCESS_WIDTH_WORD, PM1A_CNT_ADDR); in build_fadt()
550 basl_fill_gas(&fadt.XPm1bControlBlock, ACPI_ADR_SPACE_SYSTEM_IO, 0, 0, in build_fadt()
551 ACPI_GAS_ACCESS_WIDTH_UNDEFINED, 0); in build_fadt()
552 basl_fill_gas(&fadt.XPm2ControlBlock, ACPI_ADR_SPACE_SYSTEM_IO, 8, 0, in build_fadt()
553 ACPI_GAS_ACCESS_WIDTH_UNDEFINED, 0); in build_fadt()
554 basl_fill_gas(&fadt.XPmTimerBlock, ACPI_ADR_SPACE_SYSTEM_IO, 0x20, 0, in build_fadt()
557 IO_GPE0_LEN * 8, 0, ACPI_GAS_ACCESS_WIDTH_BYTE, IO_GPE0_BLK); in build_fadt()
558 basl_fill_gas(&fadt.XGpe1Block, ACPI_ADR_SPACE_SYSTEM_IO, 0, 0, in build_fadt()
559 ACPI_GAS_ACCESS_WIDTH_UNDEFINED, 0); in build_fadt()
560 basl_fill_gas(&fadt.SleepControl, ACPI_ADR_SPACE_SYSTEM_IO, 8, 0, in build_fadt()
561 ACPI_GAS_ACCESS_WIDTH_BYTE, 0); in build_fadt()
562 basl_fill_gas(&fadt.SleepStatus, ACPI_ADR_SPACE_SYSTEM_IO, 8, 0, in build_fadt()
563 ACPI_GAS_ACCESS_WIDTH_BYTE, 0); in build_fadt()
577 return (0); in build_fadt()
590 if (err != 0) in build_hpet()
596 memset(&hpet, 0, sizeof(hpet)); in build_hpet()
599 basl_fill_gas(&hpet.Address, ACPI_ADR_SPACE_SYSTEM_MEMORY, 0, 0, in build_hpet()
606 return (0); in build_hpet()
623 memset(&madt, 0, sizeof(madt)); in build_madt()
630 for (int i = 0; i < basl_ncpu; ++i) { in build_madt()
631 memset(&madt_lapic, 0, sizeof(madt_lapic)); in build_madt()
642 memset(&madt_ioapic, 0, sizeof(madt_ioapic)); in build_madt()
650 memset(&madt_irq_override, 0, sizeof(madt_irq_override)); in build_madt()
659 memset(&madt_irq_override, 0, sizeof(madt_irq_override)); in build_madt()
670 memset(&madt_lapic_nmi, 0, sizeof(madt_lapic_nmi)); in build_madt()
673 madt_lapic_nmi.ProcessorId = 0xFF; in build_madt()
682 return (0); in build_madt()
695 memset(&mcfg, 0, sizeof(mcfg)); in build_mcfg()
699 memset(&mcfg_allocation, 0, sizeof(mcfg_allocation)); in build_mcfg()
701 mcfg_allocation.EndBusNumber = 0xFF; in build_mcfg()
707 return (0); in build_mcfg()
719 memset(&rsdp, 0, sizeof(rsdp)); in build_rsdp()
721 rsdp.Checksum = 0; /* patched by basl */ in build_rsdp()
724 rsdp.RsdtPhysicalAddress = htole32(0); /* patched by basl */ in build_rsdp()
725 rsdp.Length = htole32(0); /* patched by basl */ in build_rsdp()
726 rsdp.XsdtPhysicalAddress = htole64(0); /* patched by basl */ in build_rsdp()
727 rsdp.ExtendedChecksum = 0; /* patched by basl */ in build_rsdp()
731 offsetof(ACPI_TABLE_RSDP, Checksum), 0, 20)); in build_rsdp()
741 offsetof(ACPI_TABLE_RSDP, ExtendedChecksum), 0, in build_rsdp()
744 return (0); in build_rsdp()
756 memset(&spcr, 0, sizeof(spcr)); in build_spcr()
759 basl_fill_gas(&spcr.SerialPort, ACPI_ADR_SPACE_SYSTEM_IO, 8, 0, in build_spcr()
760 ACPI_GAS_ACCESS_WIDTH_LEGACY, 0x3F8); in build_spcr()
772 return (0); in build_spcr()
792 return (0); in build_srat()
794 memset(&srat, 0, sizeof(srat)); in build_srat()
805 gpa = 0; in build_srat()
816 /* Treat devmem segs as domain 0. */ in build_srat()
817 domain = 0; in build_srat()
819 memset(&srat_mem_affinity, 0, sizeof(srat_mem_affinity)); in build_srat()
837 memset(&srat_cpu_affinity, 0, sizeof(srat_cpu_affinity)); in build_srat()
849 return (0); in build_srat()
903 return (0); in acpi_build()