1/** 2 * \file 3 * \brief ACPI daemon Flounder handler functions 4 */ 5 6/* 7 * Copyright (c) 2007, 2008, 2009, 2011, ETH Zurich. 8 * All rights reserved. 9 * 10 * This file is distributed under the terms in the attached LICENSE file. 11 * If you do not find this file, copies can be found by writing to: 12 * ETH Zurich D-INFK, Haldeneggsteig 4, CH-8092 Zurich. Attn: Systems Group. 13 */ 14 15#ifndef ACPI_SHARED_H_ 16#define ACPI_SHARED_H_ 17 18#include <acpi.h> 19#include <if/acpi_defs.h> 20#include <errors/errno.h> 21#include <pci/confspace/pci_confspace.h> 22 23#define BIOS_BITS 20 24extern struct capref my_devframes_cnode; 25extern struct mm pci_mm_physaddr; 26 27extern uintptr_t my_hw_id; 28 29errval_t find_all_apics(void); 30 31int init_all_interrupt_sources(void); 32errval_t enable_and_route_interrupt(int gsi, coreid_t dest, int vector); 33errval_t set_device_irq(const char* device, uint32_t irq); 34 35int init_acpi(void); 36int acpi_arch_init(void); 37ACPI_STATUS acpi_eval_integer(ACPI_HANDLE handle, const char *name, 38 ACPI_INTEGER *ret); 39errval_t acpi_get_irqtable_device(ACPI_HANDLE parent, acpi_pci_address_t device, 40 ACPI_HANDLE *child, uint8_t bus); 41 42void video_init(void); 43void buttons_init(void); 44void ec_probe_ecdt(void); 45void ec_init(void); 46 47void start_service(void); 48void acpi_service_arch_init(struct acpi_rx_vtbl *acpi_rx_vtbl); 49extern bool vtd_force_off; 50 51void 52AcpiOsSetRootPointer ( 53 ACPI_PHYSICAL_ADDRESS physaddr); 54 55 56errval_t acpi_arch_copy_bios_mem(void); 57errval_t acpi_arch_load_irq_routing_new(void); 58void acpi_arch_video_init(void); 59errval_t acpi_arch_skb_set_info(void); 60errval_t acpi_interrupts_arch_setup(void); 61 62#endif /* ACPI_SHARED_H_ */ 63