PatchworkOS
Loading...
Searching...
No Matches
field_unit.c File Reference

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
}
 

Functions

static void * aml_ensure_mem_is_mapped (uint64_t address, aml_bit_size_t accessSize)
 
static uint64_t aml_system_mem_read (aml_state_t *state, aml_opregion_obj_t *opregion, uintptr_t address, aml_bit_size_t accessSize, uint64_t *out)
 
static uint64_t aml_system_mem_write (aml_state_t *state, aml_opregion_obj_t *opregion, uint64_t address, aml_bit_size_t accessSize, uint64_t value)
 
static uint64_t aml_system_io_read (aml_state_t *state, aml_opregion_obj_t *opregion, uint64_t address, aml_bit_size_t accessSize, uint64_t *out)
 
static uint64_t aml_system_io_write (aml_state_t *state, aml_opregion_obj_t *opregion, uint64_t address, aml_bit_size_t accessSize, uint64_t value)
 
static uint64_t aml_pci_get_params (aml_state_t *state, aml_opregion_obj_t *opregion, pci_segment_group_t *segmentGroup, pci_bus_t *bus, pci_slot_t *slot, pci_function_t *function)
 
static uint64_t aml_pci_config_read (aml_state_t *state, aml_opregion_obj_t *opregion, uint64_t address, aml_bit_size_t accessSize, uint64_t *out)
 
static uint64_t aml_pci_config_write (aml_state_t *state, aml_opregion_obj_t *opregion, uint64_t address, aml_bit_size_t accessSize, uint64_t value)
 
static uint64_t aml_opregion_read (aml_state_t *state, aml_opregion_obj_t *opregion, uint64_t address, aml_bit_size_t accessSize, uint64_t *out)
 
static uint64_t aml_opregion_write (aml_state_t *state, aml_opregion_obj_t *opregion, uint64_t address, aml_bit_size_t accessSize, uint64_t value)
 
static uint64_t aml_get_aligned_byte_offset (aml_bit_size_t bitOffset, aml_bit_size_t accessSize)
 
static uint64_t aml_generic_field_read_at (aml_state_t *state, aml_field_unit_obj_t *fieldUnit, aml_bit_size_t accessSize, uint64_t byteOffset, uint64_t *out)
 
static uint64_t aml_generic_field_write_at (aml_state_t *state, aml_field_unit_obj_t *fieldUnit, aml_bit_size_t accessSize, uint64_t byteOffset, uint64_t value)
 
static uint64_t aml_field_unit_access (aml_state_t *state, aml_field_unit_obj_t *fieldUnit, aml_object_t *data, aml_access_direction_t direction)
 
uint64_t aml_field_unit_load (aml_state_t *state, aml_field_unit_obj_t *fieldUnit, aml_object_t *out)
 Read the value stored in a FieldUnit. FieldUnits include Fields, IndexFields and BankFields.
 
uint64_t aml_field_unit_store (aml_state_t *state, aml_field_unit_obj_t *fieldUnit, aml_object_t *in)
 Write a value to a FieldUnit. FieldUnits include Fields, IndexFields and BankFields.
 

Variables

static aml_region_handler_t regionHandlers []
 

Macro Definition Documentation

◆ AML_REGION_MAX

#define AML_REGION_MAX   (sizeof(regionHandlers) / sizeof(regionHandlers[0]))

Definition at line 316 of file field_unit.c.

Enumeration Type Documentation

◆ aml_access_direction_t

Enumerator
AML_ACCESS_READ 
AML_ACCESS_WRITE 

Definition at line 354 of file field_unit.c.

Function Documentation

◆ aml_ensure_mem_is_mapped()

static void * aml_ensure_mem_is_mapped ( uint64_t  address,
aml_bit_size_t  accessSize 
)
static

◆ aml_field_unit_access()

◆ aml_generic_field_read_at()

◆ aml_generic_field_write_at()

◆ aml_get_aligned_byte_offset()

static uint64_t aml_get_aligned_byte_offset ( aml_bit_size_t  bitOffset,
aml_bit_size_t  accessSize 
)
inlinestatic

Definition at line 348 of file field_unit.c.

Referenced by aml_field_unit_access().

◆ aml_opregion_read()

static uint64_t aml_opregion_read ( aml_state_t state,
aml_opregion_obj_t opregion,
uint64_t  address,
aml_bit_size_t  accessSize,
uint64_t out 
)
inlinestatic

◆ aml_opregion_write()

static uint64_t aml_opregion_write ( aml_state_t state,
aml_opregion_obj_t opregion,
uint64_t  address,
aml_bit_size_t  accessSize,
uint64_t  value 
)
inlinestatic

◆ aml_pci_config_read()

static uint64_t aml_pci_config_read ( aml_state_t state,
aml_opregion_obj_t opregion,
uint64_t  address,
aml_bit_size_t  accessSize,
uint64_t out 
)
static

◆ aml_pci_config_write()

static uint64_t aml_pci_config_write ( aml_state_t state,
aml_opregion_obj_t opregion,
uint64_t  address,
aml_bit_size_t  accessSize,
uint64_t  value 
)
static

◆ aml_pci_get_params()

static uint64_t aml_pci_get_params ( aml_state_t state,
aml_opregion_obj_t opregion,
pci_segment_group_t segmentGroup,
pci_bus_t bus,
pci_slot_t slot,
pci_function_t function 
)
static

◆ aml_system_io_read()

static uint64_t aml_system_io_read ( aml_state_t state,
aml_opregion_obj_t opregion,
uint64_t  address,
aml_bit_size_t  accessSize,
uint64_t out 
)
static

Definition at line 128 of file field_unit.c.

References address, ENOSYS, ERR, errno, LOG_ERR, port_inb(), port_inl(), and port_inw().

◆ aml_system_io_write()

static uint64_t aml_system_io_write ( aml_state_t state,
aml_opregion_obj_t opregion,
uint64_t  address,
aml_bit_size_t  accessSize,
uint64_t  value 
)
static

Definition at line 153 of file field_unit.c.

References address, ENOSYS, ERR, errno, LOG_ERR, port_outb(), port_outl(), and port_outw().

◆ aml_system_mem_read()

static uint64_t aml_system_mem_read ( aml_state_t state,
aml_opregion_obj_t opregion,
uintptr_t  address,
aml_bit_size_t  accessSize,
uint64_t out 
)
static

◆ aml_system_mem_write()

static uint64_t aml_system_mem_write ( aml_state_t state,
aml_opregion_obj_t opregion,
uint64_t  address,
aml_bit_size_t  accessSize,
uint64_t  value 
)
static

Variable Documentation

◆ regionHandlers

aml_region_handler_t regionHandlers[]
static
Initial value:
= {
}
static uint64_t aml_system_mem_read(aml_state_t *state, aml_opregion_obj_t *opregion, uintptr_t address, aml_bit_size_t accessSize, uint64_t *out)
Definition field_unit.c:44
static uint64_t aml_system_io_write(aml_state_t *state, aml_opregion_obj_t *opregion, uint64_t address, aml_bit_size_t accessSize, uint64_t value)
Definition field_unit.c:153
static uint64_t aml_pci_config_read(aml_state_t *state, aml_opregion_obj_t *opregion, uint64_t address, aml_bit_size_t accessSize, uint64_t *out)
Definition field_unit.c:246
static uint64_t aml_system_io_read(aml_state_t *state, aml_opregion_obj_t *opregion, uint64_t address, aml_bit_size_t accessSize, uint64_t *out)
Definition field_unit.c:128
static uint64_t aml_system_mem_write(aml_state_t *state, aml_opregion_obj_t *opregion, uint64_t address, aml_bit_size_t accessSize, uint64_t value)
Definition field_unit.c:86
static uint64_t aml_pci_config_write(aml_state_t *state, aml_opregion_obj_t *opregion, uint64_t address, aml_bit_size_t accessSize, uint64_t value)
Definition field_unit.c:279
@ AML_REGION_PCI_CONFIG
Definition named.h:33
@ AML_REGION_SYSTEM_IO
Definition named.h:32
@ AML_REGION_SYSTEM_MEMORY
Definition named.h:31

Definition at line 310 of file field_unit.c.

Referenced by aml_opregion_read(), and aml_opregion_write().