|
PatchworkOS
|
#include <kernel/acpi/aml/runtime/field_unit.h>#include <kernel/acpi/aml/predefined.h>#include <kernel/acpi/aml/runtime/access_type.h>#include <kernel/acpi/aml/runtime/method.h>#include <kernel/acpi/aml/state.h>#include <kernel/acpi/aml/to_string.h>#include <kernel/cpu/port.h>#include <kernel/drivers/pci/pci_config.h>#include <kernel/log/log.h>#include <kernel/mem/vmm.h>#include <errno.h>Go to the source code of this file.
Data Structures | |
| struct | aml_region_handler_t |
Macros | |
| #define | AML_REGION_MAX (sizeof(regionHandlers) / sizeof(regionHandlers[0])) |
Enumerations | |
| enum | aml_access_direction_t { AML_ACCESS_READ , AML_ACCESS_WRITE } |
Variables | |
| static aml_region_handler_t | regionHandlers [] |
| #define AML_REGION_MAX (sizeof(regionHandlers) / sizeof(regionHandlers[0])) |
Definition at line 316 of file field_unit.c.
| Enumerator | |
|---|---|
| AML_ACCESS_READ | |
| AML_ACCESS_WRITE | |
Definition at line 354 of file field_unit.c.
|
static |
Definition at line 23 of file field_unit.c.
References address, EIO, errno, LOG_ERR, NULL, PAGE_SIZE, PML_GLOBAL, PML_LOWER_TO_HIGHER, PML_PRESENT, PML_WRITE, and vmm_map().
Referenced by aml_system_mem_read(), and aml_system_mem_write().
|
static |
Definition at line 461 of file field_unit.c.
References aml_field_flags_t::accessType, AML_ACCESS_READ, AML_ACCESS_WRITE, AML_FIELD_UNIT_BANK_FIELD, AML_FIELD_UNIT_INDEX_FIELD, aml_field_unit_store(), aml_generic_field_read_at(), aml_generic_field_write_at(), aml_get_access_size(), aml_get_aligned_byte_offset(), aml_gl_get(), AML_LOCK_RULE_LOCK, aml_mutex_acquire(), aml_mutex_release(), aml_object_get_bits_at(), aml_object_set_bits_at(), AML_UPDATE_RULE_PRESERVE, AML_UPDATE_RULE_WRITE_AS_ONES, AML_UPDATE_RULE_WRITE_AS_ZEROS, aml_field_unit_obj_t::bank, aml_field_unit_obj_t::bankValue, aml_field_unit_obj_t::bitOffset, aml_field_unit_obj_t::bitSize, CLOCKS_NEVER, aml_field_unit_obj_t::data, data, EINVAL, ERR, errno, aml_field_unit_obj_t::fieldFlags, aml_field_unit_obj_t::fieldType, globalMutex, aml_field_flags_t::lockRule, LOG_ERR, MIN, aml_mutex_obj_t::mutex, NULL, aml_field_unit_obj_t::opregion, aml_opregion_obj_t::space, aml_mutex_obj_t::syncLevel, UINT64_C, UINT64_MAX, and aml_field_flags_t::updateRule.
Referenced by aml_field_unit_load(), and aml_field_unit_store().
|
static |
Definition at line 360 of file field_unit.c.
References address, AML_FIELD_UNIT_BANK_FIELD, AML_FIELD_UNIT_FIELD, AML_FIELD_UNIT_INDEX_FIELD, aml_field_unit_load(), aml_field_unit_store(), AML_INTEGER, aml_integer_set(), aml_object_clear(), aml_object_new(), aml_opregion_read(), assert, aml_field_unit_obj_t::data, DEREF_DEFER, EINVAL, ERR, errno, aml_field_unit_obj_t::fieldType, aml_field_unit_obj_t::index, aml_object_t::integer, LOG_ERR, NULL, aml_opregion_obj_t::offset, aml_field_unit_obj_t::opregion, and aml_integer_obj_t::value.
Referenced by aml_field_unit_access().
|
static |
Definition at line 410 of file field_unit.c.
References address, AML_FIELD_UNIT_BANK_FIELD, AML_FIELD_UNIT_FIELD, AML_FIELD_UNIT_INDEX_FIELD, aml_field_unit_store(), aml_integer_set(), aml_object_clear(), aml_object_new(), aml_opregion_write(), aml_field_unit_obj_t::data, DEREF_DEFER, EINVAL, ERR, errno, aml_field_unit_obj_t::fieldType, aml_field_unit_obj_t::index, LOG_ERR, NULL, aml_opregion_obj_t::offset, and aml_field_unit_obj_t::opregion.
Referenced by aml_field_unit_access().
|
inlinestatic |
Definition at line 348 of file field_unit.c.
Referenced by aml_field_unit_access().
|
inlinestatic |
Definition at line 318 of file field_unit.c.
References address, AML_REGION_MAX, aml_region_space_to_string(), EINVAL, ENOSYS, ERR, errno, LOG_ERR, NULL, aml_region_handler_t::read, regionHandlers, and aml_opregion_obj_t::space.
Referenced by aml_generic_field_read_at().
|
inlinestatic |
Definition at line 336 of file field_unit.c.
References address, AML_REGION_MAX, aml_region_space_to_string(), ENOSYS, ERR, errno, LOG_ERR, NULL, regionHandlers, aml_opregion_obj_t::space, and aml_region_handler_t::write.
Referenced by aml_generic_field_write_at().
|
static |
Definition at line 246 of file field_unit.c.
References address, aml_pci_get_params(), ENOSYS, ERR, errno, LOG_ERR, pci_config_read16(), pci_config_read32(), and pci_config_read8().
|
static |
Definition at line 279 of file field_unit.c.
References address, aml_pci_get_params(), ENOSYS, ERR, errno, LOG_ERR, pci_config_write16(), pci_config_write32(), and pci_config_write8().
|
static |
Definition at line 178 of file field_unit.c.
References aml_method_evaluate_integer(), AML_NAME, AML_NAME_TO_STRING, aml_namespace_find(), CONTAINER_OF, DEREF_DEFER, ERR, LOG_ERR, NULL, and aml_state_t::overlay.
Referenced by aml_pci_config_read(), and aml_pci_config_write().
|
static |
Definition at line 128 of file field_unit.c.
References address, ENOSYS, ERR, errno, LOG_ERR, port_inb(), port_inl(), and port_inw().
|
static |
Definition at line 153 of file field_unit.c.
References address, ENOSYS, ERR, errno, LOG_ERR, port_outb(), port_outl(), and port_outw().
|
static |
Definition at line 44 of file field_unit.c.
References address, aml_ensure_mem_is_mapped(), ENOSYS, ERR, errno, LOG_ERR, NULL, and VMM_IDENTITY_MAPPED_MIN.
|
static |
Definition at line 86 of file field_unit.c.
References address, aml_ensure_mem_is_mapped(), ENOSYS, ERR, errno, LOG_ERR, NULL, and VMM_IDENTITY_MAPPED_MIN.
|
static |
Definition at line 310 of file field_unit.c.
Referenced by aml_opregion_read(), and aml_opregion_write().