535{
539 struct acpi_gas *reset_reg = &fadt->reset_reg;
540
541
542
543
544
546
549
550 switch (reset_reg->address_space_id) {
552
553
554
555
559
561 break;
564 break;
566
569 .bus = 0,
570 .device = (reset_reg->address >> 32) & 0xFF,
571 .function = (reset_reg->address >> 16) & 0xFF,
572 };
573
576 break;
577
579 pci_dev, reset_reg->address & 0xFFFF, fadt->reset_value
580 );
581 break;
582 }
583 default:
585 "unable to perform a reset: unsupported address space '%s' (%d)\n",
587 reset_reg->address_space_id
588 );
590 }
591
593
594
595
596
598
599 while (stalled_time < (1000 * 1000)) {
601 stalled_time += 100;
602 }
603
606 }
607
612
614}
#define ACPI_RESET_REG_SUP
@ UACPI_STATUS_UNIMPLEMENTED
const uacpi_char * uacpi_address_space_to_string(uacpi_address_space space)
@ UACPI_INIT_LEVEL_SUBSYSTEM_INITIALIZED
@ UACPI_ADDRESS_SPACE_SYSTEM_MEMORY
@ UACPI_ADDRESS_SPACE_PCI_CONFIG
@ UACPI_ADDRESS_SPACE_SYSTEM_IO
uacpi_status uacpi_kernel_io_map(uacpi_io_addr base, uacpi_size len, uacpi_handle *out_handle)
void uacpi_kernel_pci_device_close(uacpi_handle)
uacpi_status uacpi_kernel_io_write8(uacpi_handle, uacpi_size offset, uacpi_u8 in_value)
uacpi_status uacpi_kernel_pci_device_open(uacpi_pci_address address, uacpi_handle *out_handle)
uacpi_status uacpi_kernel_pci_write8(uacpi_handle device, uacpi_size offset, uacpi_u8 value)
void uacpi_kernel_io_unmap(uacpi_handle handle)