Go to the source code of this file.
◆ PCI_EXPRESS_ROOT_PNP_ID
| #define PCI_EXPRESS_ROOT_PNP_ID "PNP0A08" |
◆ PCI_ROOT_PNP_ID
| #define PCI_ROOT_PNP_ID "PNP0A03" |
◆ find_pci_root()
Definition at line 15 of file default_handlers.c.
16{
21 };
23
27 "found a PCI root node %.4s controlling region %.4s",
29 );
31 }
32
34 }
35
37 node,
"unable to find PCI root controlling",
39 );
41}
#define PCI_EXPRESS_ROOT_PNP_ID
uacpi_namespace_node * uacpi_namespace_root(void)
void uacpi_trace_region_error(uacpi_namespace_node *node, uacpi_char *message, uacpi_status ret)
uacpi_bool uacpi_device_matches_pnp_id(uacpi_namespace_node *node, const uacpi_char *const *list)
Referenced by pci_region_attach().
◆ handle_io_region()
Definition at line 327 of file default_handlers.c.
328{
337 default:
339 }
340}
static uacpi_status io_region_detach(uacpi_region_detach_data *data)
static uacpi_status io_region_attach(uacpi_region_attach_data *data)
static uacpi_status io_region_do_rw(uacpi_region_op op, uacpi_region_rw_data *data)
@ UACPI_STATUS_INVALID_ARGUMENT
Referenced by uacpi_install_default_address_space_handlers().
◆ handle_memory_region()
Definition at line 271 of file default_handlers.c.
272{
281 default:
283 }
284}
static uacpi_status memory_region_do_rw(uacpi_region_op op, uacpi_region_rw_data *data)
static uacpi_status memory_region_attach(uacpi_region_attach_data *data)
static uacpi_status memory_region_detach(uacpi_region_detach_data *data)
Referenced by uacpi_install_default_address_space_handlers().
◆ handle_pci_region()
Definition at line 161 of file default_handlers.c.
162{
171 default:
173 }
174}
static uacpi_status pci_region_do_rw(uacpi_region_op op, uacpi_region_rw_data *data)
static uacpi_status pci_region_detach(uacpi_region_detach_data *data)
static uacpi_status pci_region_attach(uacpi_region_attach_data *data)
Referenced by uacpi_install_default_address_space_handlers().
◆ handle_table_data_region()
◆ io_region_attach()
Definition at line 223 of file default_handlers.c.
224{
228
232
234
238 data->region_node,
"unable to map an IO",
ret
239 );
242 }
243
244 data->out_region_context =
ctx;
246}
#define uacpi_free(mem, _)
#define uacpi_unlikely_error(expr)
@ UACPI_STATUS_OUT_OF_MEMORY
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
uacpi_status uacpi_kernel_io_map(uacpi_io_addr base, uacpi_size len, uacpi_handle *out_handle)
void * uacpi_kernel_alloc(uacpi_size size)
Referenced by handle_io_region().
◆ io_region_detach()
◆ io_region_do_rw()
Definition at line 311 of file default_handlers.c.
314{
318
321
325}
uacpi_status uacpi_system_io_write(uacpi_handle handle, uacpi_size offset, uacpi_u8 width, uacpi_u64 in)
uacpi_status uacpi_system_io_read(uacpi_handle handle, uacpi_size offset, uacpi_u8 width, uacpi_u64 *out)
GLint GLint GLsizei width
Referenced by handle_io_region().
◆ memory_region_attach()
Definition at line 182 of file default_handlers.c.
183{
186
190
191 ctx->size =
data->generic_info.length;
192
193
194 ctx->phys =
data->generic_info.base;
196
202 }
203
204 data->out_region_context =
ctx;
207}
@ UACPI_STATUS_MAPPING_FAILED
void * uacpi_kernel_map(uacpi_phys_addr addr, uacpi_size len)
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out
Referenced by handle_memory_region().
◆ memory_region_detach()
◆ memory_region_do_rw()
Definition at line 257 of file default_handlers.c.
260{
263
265
269}
uacpi_status uacpi_system_memory_read(void *ptr, uacpi_size offset, uacpi_u8 width, uacpi_u64 *out)
uacpi_status uacpi_system_memory_write(void *ptr, uacpi_size offset, uacpi_u8 width, uacpi_u64 in)
Referenced by handle_memory_region().
◆ pci_region_attach()
Definition at line 48 of file default_handlers.c.
49{
55
58
59
60
61
62
66
70
72 break;
73
75 }
76
80 node,
"unable to find device responsible for",
ret
81 );
83 }
84
89 }
90
94
98
100 "detected PCI device %.4s@%04X:%02X:%02X:%01X",
103 );
104
108
109 data->out_region_context =
ctx;
110
114
117}
static uacpi_namespace_node * find_pci_root(uacpi_namespace_node *node)
#define uacpi_kernel_alloc_zeroed
uacpi_status uacpi_namespace_node_type(const uacpi_namespace_node *node, uacpi_object_type *out_type)
GLuint GLuint GLsizei GLenum type
uacpi_status uacpi_kernel_pci_device_open(uacpi_pci_address address, uacpi_handle *out_handle)
uacpi_status uacpi_eval_simple_integer(uacpi_namespace_node *parent, const uacpi_char *path, uacpi_u64 *out_value)
Referenced by handle_pci_region().
◆ pci_region_detach()
◆ pci_region_do_rw()
Definition at line 131 of file default_handlers.c.
134{
138
141
142 if (!
ctx->handle_is_valid) {
144 "faking a PCI device %s access",
146 );
147
151 }
152
154 }
155
159}
uacpi_status uacpi_pci_write(uacpi_handle handle, uacpi_size offset, uacpi_u8 width, uacpi_u64 in)
uacpi_status uacpi_pci_read(uacpi_handle handle, uacpi_size offset, uacpi_u8 width, uacpi_u64 *out)
uacpi_handle device_handle
Referenced by handle_pci_region().
◆ table_data_region_do_rw()
◆ uacpi_install_default_address_space_handlers()
| void uacpi_install_default_address_space_handlers |
( |
void |
| ) |
|
Definition at line 342 of file default_handlers.c.
343{
345
347
352 );
353
358 );
359
364 );
365
370 );
371}
static uacpi_status handle_table_data_region(uacpi_region_op op, uacpi_handle op_data)
static uacpi_status handle_io_region(uacpi_region_op op, uacpi_handle op_data)
static uacpi_status handle_memory_region(uacpi_region_op op, uacpi_handle op_data)
static uacpi_status handle_pci_region(uacpi_region_op op, uacpi_handle op_data)
#define UACPI_ADDRESS_SPACE_HANDLER_DEFAULT
@ UACPI_ADDRESS_SPACE_SYSTEM_MEMORY
@ UACPI_ADDRESS_SPACE_PCI_CONFIG
@ UACPI_ADDRESS_SPACE_TABLE_DATA
@ UACPI_ADDRESS_SPACE_SYSTEM_IO
uacpi_status uacpi_install_address_space_handler_with_flags(uacpi_namespace_node *device_node, enum uacpi_address_space space, uacpi_region_handler handler, uacpi_handle handler_context, uacpi_u16 flags)
Referenced by uacpi_initialize().