Lines Matching +full:0 +full:xfee00000

66 #define BHYVE_ADDRESS_IOAPIC 	0xFEC00000
67 #define BHYVE_ADDRESS_HPET 0xFED00000
68 #define BHYVE_ADDRESS_LAPIC 0xFEE00000
95 if (fprintf(__VA_ARGS__) < 0) goto err_exit
98 if (fflush(x) != 0) goto err_exit
121 return (0); in acpi_tables_add_device()
132 if (dsdt_error != 0) in dsdt_line()
135 if (strcmp(fmt, "") != 0) { in dsdt_line()
136 if (dsdt_indent_level != 0) in dsdt_line()
139 if (vfprintf(dsdt_fp, fmt, ap) < 0) { in dsdt_line()
157 assert(dsdt_indent_level >= 0); in dsdt_indent()
173 dsdt_line(" 0x%04X, // Range Minimum", iobase); in dsdt_fixed_ioport()
174 dsdt_line(" 0x%04X, // Range Maximum", iobase); in dsdt_fixed_ioport()
175 dsdt_line(" 0x01, // Alignment"); in dsdt_fixed_ioport()
176 dsdt_line(" 0x%02X, // Length", length); in dsdt_fixed_ioport()
193 dsdt_line(" 0x%08X, // Address Base", base); in dsdt_fixed_mem32()
194 dsdt_line(" 0x%08X, // Address Length", length); in dsdt_fixed_mem32()
202 dsdt_error = 0; in basl_fwrite_dsdt()
203 dsdt_indent_level = 0; in basl_fwrite_dsdt()
209 "\"BHYVE \", \"BVDSDT \", 0x00000001)"); in basl_fwrite_dsdt()
213 dsdt_line(" 0x05,"); in basl_fwrite_dsdt()
226 dsdt_line(" Name (_UID, 0)"); in basl_fwrite_dsdt()
230 dsdt_fixed_mem32(0xFED00000, 0x400); in basl_fwrite_dsdt()
246 if (dsdt_error != 0) in basl_fwrite_dsdt()
251 return (0); in basl_fwrite_dsdt()
262 err = 0; in basl_open()
272 if (bf->fd > 0) { in basl_open()
299 err = basl_open(in, 0); in basl_start()
324 if (fstat(fd, &sb) < 0) in basl_load()
331 if (read(fd, addr, sb.st_size) < 0) in basl_load()
336 uint8_t name[ACPI_NAMESEG_SIZE + 1] = { 0 }; in basl_load()
337 memcpy(name, addr, sizeof(name) - 1 /* last char is '\0' */); in basl_load()
342 return (0); in basl_load()
353 err = basl_start(&io[0], &io[1]); in basl_compile()
355 err = (*fwrite_section)(io[0].fp); in basl_compile()
372 io[1].f_name, io[0].f_name); in basl_compile()
383 basl_end(&io[0], &io[1]); in basl_compile()
396 err = 0; in basl_make_templates()
401 if ((tmpdir = getenv("BHYVE_TMPDIR")) == NULL || *tmpdir == '\0' || in basl_make_templates()
402 (tmpdir = getenv("TMPDIR")) == NULL || *tmpdir == '\0') { in basl_make_templates()
410 while (len > 0 && basl_template[len - 1] == '/') in basl_make_templates()
440 return (0); in build_dsdt()
452 memset(&facs, 0, sizeof(facs)); in build_facs()
458 return (0); in build_facs()
470 memset(&fadt, 0, sizeof(fadt)); in build_fadt()
472 fadt.Facs = htole32(0); /* patched by basl */ in build_fadt()
473 fadt.Dsdt = htole32(0); /* patched by basl */ in build_fadt()
486 fadt.Century = 0x32; in build_fadt()
492 basl_fill_gas(&fadt.ResetRegister, ACPI_ADR_SPACE_SYSTEM_IO, 8, 0, in build_fadt()
493 ACPI_GAS_ACCESS_WIDTH_BYTE, 0xCF9); in build_fadt()
496 fadt.XFacs = htole64(0); /* patched by basl */ in build_fadt()
497 fadt.XDsdt = htole64(0); /* patched by basl */ in build_fadt()
498 basl_fill_gas(&fadt.XPm1aEventBlock, ACPI_ADR_SPACE_SYSTEM_IO, 0x20, 0, in build_fadt()
500 basl_fill_gas(&fadt.XPm1bEventBlock, ACPI_ADR_SPACE_SYSTEM_IO, 0, 0, in build_fadt()
501 ACPI_GAS_ACCESS_WIDTH_UNDEFINED, 0); in build_fadt()
502 basl_fill_gas(&fadt.XPm1aControlBlock, ACPI_ADR_SPACE_SYSTEM_IO, 0x10, in build_fadt()
503 0, ACPI_GAS_ACCESS_WIDTH_WORD, PM1A_CNT_ADDR); in build_fadt()
504 basl_fill_gas(&fadt.XPm1bControlBlock, ACPI_ADR_SPACE_SYSTEM_IO, 0, 0, in build_fadt()
505 ACPI_GAS_ACCESS_WIDTH_UNDEFINED, 0); in build_fadt()
506 basl_fill_gas(&fadt.XPm2ControlBlock, ACPI_ADR_SPACE_SYSTEM_IO, 8, 0, in build_fadt()
507 ACPI_GAS_ACCESS_WIDTH_UNDEFINED, 0); in build_fadt()
508 basl_fill_gas(&fadt.XPmTimerBlock, ACPI_ADR_SPACE_SYSTEM_IO, 0x20, 0, in build_fadt()
511 IO_GPE0_LEN * 8, 0, ACPI_GAS_ACCESS_WIDTH_BYTE, IO_GPE0_BLK); in build_fadt()
512 basl_fill_gas(&fadt.XGpe1Block, ACPI_ADR_SPACE_SYSTEM_IO, 0, 0, in build_fadt()
513 ACPI_GAS_ACCESS_WIDTH_UNDEFINED, 0); in build_fadt()
514 basl_fill_gas(&fadt.SleepControl, ACPI_ADR_SPACE_SYSTEM_IO, 8, 0, in build_fadt()
515 ACPI_GAS_ACCESS_WIDTH_BYTE, 0); in build_fadt()
516 basl_fill_gas(&fadt.SleepStatus, ACPI_ADR_SPACE_SYSTEM_IO, 8, 0, in build_fadt()
517 ACPI_GAS_ACCESS_WIDTH_BYTE, 0); in build_fadt()
531 return (0); in build_fadt()
544 if (err != 0) in build_hpet()
550 memset(&hpet, 0, sizeof(hpet)); in build_hpet()
553 basl_fill_gas(&hpet.Address, ACPI_ADR_SPACE_SYSTEM_MEMORY, 0, 0, in build_hpet()
560 return (0); in build_hpet()
577 memset(&madt, 0, sizeof(madt)); in build_madt()
584 for (int i = 0; i < basl_ncpu; ++i) { in build_madt()
585 memset(&madt_lapic, 0, sizeof(madt_lapic)); in build_madt()
596 memset(&madt_ioapic, 0, sizeof(madt_ioapic)); in build_madt()
604 memset(&madt_irq_override, 0, sizeof(madt_irq_override)); in build_madt()
613 memset(&madt_irq_override, 0, sizeof(madt_irq_override)); in build_madt()
624 memset(&madt_lapic_nmi, 0, sizeof(madt_lapic_nmi)); in build_madt()
627 madt_lapic_nmi.ProcessorId = 0xFF; in build_madt()
636 return (0); in build_madt()
649 memset(&mcfg, 0, sizeof(mcfg)); in build_mcfg()
653 memset(&mcfg_allocation, 0, sizeof(mcfg_allocation)); in build_mcfg()
655 mcfg_allocation.EndBusNumber = 0xFF; in build_mcfg()
661 return (0); in build_mcfg()
673 memset(&rsdp, 0, sizeof(rsdp)); in build_rsdp()
675 rsdp.Checksum = 0; /* patched by basl */ in build_rsdp()
678 rsdp.RsdtPhysicalAddress = htole32(0); /* patched by basl */ in build_rsdp()
679 rsdp.Length = htole32(0); /* patched by basl */ in build_rsdp()
680 rsdp.XsdtPhysicalAddress = htole64(0); /* patched by basl */ in build_rsdp()
681 rsdp.ExtendedChecksum = 0; /* patched by basl */ in build_rsdp()
685 offsetof(ACPI_TABLE_RSDP, Checksum), 0, 20)); in build_rsdp()
695 offsetof(ACPI_TABLE_RSDP, ExtendedChecksum), 0, in build_rsdp()
698 return (0); in build_rsdp()
710 memset(&spcr, 0, sizeof(spcr)); in build_spcr()
713 basl_fill_gas(&spcr.SerialPort, ACPI_ADR_SPACE_SYSTEM_IO, 8, 0, in build_spcr()
714 ACPI_GAS_ACCESS_WIDTH_LEGACY, 0x3F8); in build_spcr()
726 return (0); in build_spcr()
779 return (0); in acpi_build()