|
Voxia OS v0.0.1
Hobby Project Operating System Targeting x86-64
|
#include <type.h>Go to the source code of this file.
Data Structures | |
| struct | RSDP_t |
| struct | SDT |
| struct | RSDT |
| struct | MADT |
| struct | ACPI_APIC_ENTRY |
| struct | ACPI_IO_APIC |
| struct | cpu_core |
Enumerations | |
| enum | ACPI_TABLE_TYPE { ACPI_PROCESSOR_LAPIC = 0 , ACPI_IO_APIC = 1 , ACPI_IO_INT_OVERRIDE = 2 , ACPI_NMI = 3 , ACPI_LOCAL_APIC_NMI = 4 , ACPI_LOCAL_APIC_OVERRIDE = 5 , ACPI_LOCAL_X2_APIC = 9 } |
| enum | cpu_core_status_t { Off = 0 , Active } |
Functions | |
| struct RSDP_t | __attribute__ ((packed)) |
| struct | __attribute__ ((__packed__)) |
| struct cpu_core * | vxGetCpuInfo (uint8_t apicid) |
| uintptr_t | acpi_map_phys_page (uintptr_t phys_addr, size_t len) |
| void | acpi_phys_page_unmap (uintptr_t addr) |
| uint8_t | vxGetNumberOfCores () |
Variables | |
| typedef | __attribute__ |
| char | Signature [8] |
| uint8_t | Checksum |
| char | OEMID [6] |
| uint8_t | Revision |
| uint32_t | RsdtAddress |
| uint32_t | Length |
| char | OEMTableID [8] |
| uint32_t | OEMRevision |
| uint32_t | CreatorID |
| uint32_t | CreatorRevision |
| struct SDT | h |
| uint32_t | PointerToOtherSDT [] |
| madt_record_table_entry_t | |
| struct SDT | header |
| uint32_t | localApicAddress |
| uint32_t | flags |
| madt_record_table_entry_t | table [] |
| uint8_t | type |
| uint8_t | length |
| uint8_t | ioApicId |
| uint8_t | reserved |
| uint32_t | ioApicAddress |
| uint32_t | globalSystemInterruptBase |
| enum ACPI_TABLE_TYPE |
| enum cpu_core_status_t |
Definition at line 55 of file acpi.c.
References ALIGN_DOWN, BLOCK_SIZE, get_kernel_vmm_page(), len, offset, PAGE_CACHE_DISABLE, PAGE_NO_EXECUTE, PAGE_PRESENT, PAGE_WRITABLE, PAGE_WRITE_THROUGH, paging_get_highest_page_map(), paging_reload(), phys_addr, vma_lookup_free_vaddr(), VMA_REGION_A, vma_register(), and vxMultipleMmap().
Referenced by __attribute__(), parsing_madt(), and vxHPETInitialize().
| void acpi_phys_page_unmap | ( | uintptr_t | addr | ) |
Definition at line 76 of file acpi.c.
References addr, get_kernel_vmm_page(), paging_get_highest_page_map(), paging_reload(), paging_unmap_fill(), and vma_unregister().
Definition at line 21 of file acpi.c.
References cpu_core::apicid, core, and cpu_list.
Referenced by __attribute__(), INIT(), INIT(), and vxAddWorkqueueTask().
| uint8_t vxGetNumberOfCores | ( | ) |
| enum ACPI_TABLE_TYPE __attribute__ |
| struct ACPI_APIC_ENTRY h |
Definition at line 0 of file acpi.h.
Referenced by __attribute__(), cache_lookup(), create_process(), elf_gnu_hash(), fill_rect(), find_dev(), hash(), hash32(), hash_dentry(), hlist_add_head(), hlist_del(), notify_dev_create(), pool_pop(), pool_push(), EHCIModule::retrieve_qh(), EHCIModule::retrieve_qtd(), screen_rows(), ssfn_bbox(), ssfn_bbox2(), EHCIModule::store_qh(), and EHCIModule::store_qtd().
| struct SDT header |
Definition at line 0 of file acpi.h.
Referenced by __attribute__(), pci_check_bus(), and vxVoxmoInstall().
| madt_record_table_entry_t |
Definition at line 34 of file acpi.h.
Referenced by parsing_madt().
| madt_record_table_entry_t table[] |
Definition at line 3 of file acpi.h.
Referenced by alloc_fdtable(), elf_call_init_array_with_table(), elf_load(), elf_relocate_dyn(), elf_relocate_rel(), elf_roffset_to_kernel_ptr(), free_fdtable(), and vxHPETInitialize().