X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Facpi%2Facpiosxf.h;h=0cd63bce0ae423d1905d37448879df7c802d79ac;hb=refs%2Fheads%2Fvserver;hp=857c8072eb1e0d84baee03d5fcd5c16fe264ad90;hpb=6a77f38946aaee1cd85eeec6cf4229b204c15071;p=linux-2.6.git diff --git a/include/acpi/acpiosxf.h b/include/acpi/acpiosxf.h index 857c8072e..0cd63bce0 100644 --- a/include/acpi/acpiosxf.h +++ b/include/acpi/acpiosxf.h @@ -7,9 +7,8 @@ * *****************************************************************************/ - /* - * Copyright (C) 2000 - 2005, R. Byron Moore + * Copyright (C) 2000 - 2006, R. Byron Moore * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -51,339 +50,237 @@ #include "platform/acenv.h" #include "actypes.h" +/* Types for acpi_os_execute */ -/* Priorities for acpi_os_queue_for_execution */ - -#define OSD_PRIORITY_GPE 1 -#define OSD_PRIORITY_HIGH 2 -#define OSD_PRIORITY_MED 3 -#define OSD_PRIORITY_LO 4 +typedef enum { + OSL_GLOBAL_LOCK_HANDLER, + OSL_NOTIFY_HANDLER, + OSL_GPE_HANDLER, + OSL_DEBUGGER_THREAD, + OSL_EC_POLL_HANDLER, + OSL_EC_BURST_HANDLER +} acpi_execute_type; #define ACPI_NO_UNIT_LIMIT ((u32) -1) #define ACPI_MUTEX_SEM 1 - /* Functions for acpi_os_signal */ #define ACPI_SIGNAL_FATAL 0 #define ACPI_SIGNAL_BREAKPOINT 1 -struct acpi_signal_fatal_info -{ - u32 type; - u32 code; - u32 argument; +struct acpi_signal_fatal_info { + u32 type; + u32 code; + u32 argument; }; - /* * OSL Initialization and shutdown primitives */ +acpi_status acpi_os_initialize(void); -acpi_status -acpi_os_initialize ( - void); - -acpi_status -acpi_os_terminate ( - void); - +acpi_status acpi_os_terminate(void); /* * ACPI Table interfaces */ +acpi_status acpi_os_get_root_pointer(u32 flags, struct acpi_pointer *address); acpi_status -acpi_os_get_root_pointer ( - u32 flags, - struct acpi_pointer *address); +acpi_os_predefined_override(const struct acpi_predefined_names *init_val, + acpi_string * new_val); acpi_status -acpi_os_predefined_override ( - const struct acpi_predefined_names *init_val, - acpi_string *new_val); +acpi_os_table_override(struct acpi_table_header *existing_table, + struct acpi_table_header **new_table); -acpi_status -acpi_os_table_override ( - struct acpi_table_header *existing_table, - struct acpi_table_header **new_table); +/* + * Spinlock primitives + */ +acpi_status acpi_os_create_lock(acpi_spinlock * out_handle); + +void acpi_os_delete_lock(acpi_spinlock handle); +acpi_cpu_flags acpi_os_acquire_lock(acpi_spinlock handle); + +void acpi_os_release_lock(acpi_spinlock handle, acpi_cpu_flags flags); /* - * Synchronization primitives + * Semaphore primitives */ - acpi_status -acpi_os_create_semaphore ( - u32 max_units, - u32 initial_units, - acpi_handle *out_handle); +acpi_os_create_semaphore(u32 max_units, + u32 initial_units, acpi_semaphore * out_handle); -acpi_status -acpi_os_delete_semaphore ( - acpi_handle handle); +acpi_status acpi_os_delete_semaphore(acpi_semaphore handle); acpi_status -acpi_os_wait_semaphore ( - acpi_handle handle, - u32 units, - u16 timeout); +acpi_os_wait_semaphore(acpi_semaphore handle, u32 units, u16 timeout); -acpi_status -acpi_os_signal_semaphore ( - acpi_handle handle, - u32 units); +acpi_status acpi_os_signal_semaphore(acpi_semaphore handle, u32 units); -acpi_status -acpi_os_create_lock ( - acpi_handle *out_handle); +/* + * Mutex primitives + */ +acpi_status acpi_os_create_mutex(acpi_mutex * out_handle); -void -acpi_os_delete_lock ( - acpi_handle handle); +void acpi_os_delete_mutex(acpi_mutex handle); -void -acpi_os_acquire_lock ( - acpi_handle handle, - u32 flags); +acpi_status acpi_os_acquire_mutex(acpi_mutex handle, u16 timeout); -void -acpi_os_release_lock ( - acpi_handle handle, - u32 flags); +void acpi_os_release_mutex(acpi_mutex handle); + +/* Temporary macros for Mutex* interfaces, map to existing semaphore xfaces */ +#define acpi_os_create_mutex(out_handle) acpi_os_create_semaphore (1, 1, out_handle) +#define acpi_os_delete_mutex(handle) (void) acpi_os_delete_semaphore (handle) +#define acpi_os_acquire_mutex(handle,time) acpi_os_wait_semaphore (handle, 1, time) +#define acpi_os_release_mutex(handle) (void) acpi_os_signal_semaphore (handle, 1) /* * Memory allocation and mapping */ - -void * -acpi_os_allocate ( - acpi_size size); - -void -acpi_os_free ( - void * memory); +void *acpi_os_allocate(acpi_size size); acpi_status -acpi_os_map_memory ( - acpi_physical_address physical_address, - acpi_size size, - void __iomem **logical_address); +acpi_os_map_memory(acpi_physical_address physical_address, + acpi_size size, void __iomem ** logical_address); -void -acpi_os_unmap_memory ( - void __iomem *logical_address, - acpi_size size); +void acpi_os_unmap_memory(void __iomem * logical_address, acpi_size size); #ifdef ACPI_FUTURE_USAGE acpi_status -acpi_os_get_physical_address ( - void *logical_address, - acpi_physical_address *physical_address); +acpi_os_get_physical_address(void *logical_address, + acpi_physical_address * physical_address); #endif +/* + * Memory/Object Cache + */ +acpi_status +acpi_os_create_cache(char *cache_name, + u16 object_size, + u16 max_depth, acpi_cache_t ** return_cache); + +acpi_status acpi_os_delete_cache(acpi_cache_t * cache); + +acpi_status acpi_os_purge_cache(acpi_cache_t * cache); + +void *acpi_os_acquire_object(acpi_cache_t * cache); + +acpi_status acpi_os_release_object(acpi_cache_t * cache, void *object); /* * Interrupt handlers */ - acpi_status -acpi_os_install_interrupt_handler ( - u32 gsi, - acpi_osd_handler service_routine, - void *context); +acpi_os_install_interrupt_handler(u32 gsi, + acpi_osd_handler service_routine, + void *context); acpi_status -acpi_os_remove_interrupt_handler ( - u32 gsi, - acpi_osd_handler service_routine); - +acpi_os_remove_interrupt_handler(u32 gsi, acpi_osd_handler service_routine); /* * Threads and Scheduling */ - -u32 -acpi_os_get_thread_id ( - void); +acpi_thread_id acpi_os_get_thread_id(void); acpi_status -acpi_os_queue_for_execution ( - u32 priority, - acpi_osd_exec_callback function, - void *context); +acpi_os_execute(acpi_execute_type type, + acpi_osd_exec_callback function, void *context); -void -acpi_os_wait_events_complete( - void * context); +void acpi_os_wait_events_complete(void *context); -void -acpi_os_wait_events_complete ( - void *context); - -void -acpi_os_sleep ( - acpi_integer milliseconds); - -void -acpi_os_stall ( - u32 microseconds); +void acpi_os_sleep(acpi_integer milliseconds); +void acpi_os_stall(u32 microseconds); /* * Platform and hardware-independent I/O interfaces */ +acpi_status acpi_os_read_port(acpi_io_address address, u32 * value, u32 width); -acpi_status -acpi_os_read_port ( - acpi_io_address address, - u32 *value, - u32 width); - -acpi_status -acpi_os_write_port ( - acpi_io_address address, - u32 value, - u32 width); - +acpi_status acpi_os_write_port(acpi_io_address address, u32 value, u32 width); /* * Platform and hardware-independent physical memory interfaces */ - acpi_status -acpi_os_read_memory ( - acpi_physical_address address, - u32 *value, - u32 width); +acpi_os_read_memory(acpi_physical_address address, u32 * value, u32 width); acpi_status -acpi_os_write_memory ( - acpi_physical_address address, - u32 value, - u32 width); - +acpi_os_write_memory(acpi_physical_address address, u32 value, u32 width); /* * Platform and hardware-independent PCI configuration space access * Note: Can't use "Register" as a parameter, changed to "Reg" -- * certain compilers complain. */ - acpi_status -acpi_os_read_pci_configuration ( - struct acpi_pci_id *pci_id, - u32 reg, - void *value, - u32 width); +acpi_os_read_pci_configuration(struct acpi_pci_id *pci_id, + u32 reg, void *value, u32 width); acpi_status -acpi_os_write_pci_configuration ( - struct acpi_pci_id *pci_id, - u32 reg, - acpi_integer value, - u32 width); +acpi_os_write_pci_configuration(struct acpi_pci_id *pci_id, + u32 reg, acpi_integer value, u32 width); /* * Interim function needed for PCI IRQ routing */ - void -acpi_os_derive_pci_id( - acpi_handle rhandle, - acpi_handle chandle, - struct acpi_pci_id **pci_id); +acpi_os_derive_pci_id(acpi_handle rhandle, + acpi_handle chandle, struct acpi_pci_id **pci_id); /* * Miscellaneous */ +acpi_status acpi_os_validate_interface(char *interface); + +acpi_status +acpi_os_validate_address(u8 space_id, + acpi_physical_address address, acpi_size length); -u8 -acpi_os_readable ( - void *pointer, - acpi_size length); +u8 acpi_os_readable(void *pointer, acpi_size length); #ifdef ACPI_FUTURE_USAGE -u8 -acpi_os_writable ( - void *pointer, - acpi_size length); +u8 acpi_os_writable(void *pointer, acpi_size length); #endif -u64 -acpi_os_get_timer ( - void); +u64 acpi_os_get_timer(void); -acpi_status -acpi_os_signal ( - u32 function, - void *info); +acpi_status acpi_os_signal(u32 function, void *info); /* * Debug print routines */ +void ACPI_INTERNAL_VAR_XFACE acpi_os_printf(const char *format, ...); -void ACPI_INTERNAL_VAR_XFACE -acpi_os_printf ( - const char *format, - ...); - -void -acpi_os_vprintf ( - const char *format, - va_list args); - -void -acpi_os_redirect_output ( - void *destination); +void acpi_os_vprintf(const char *format, va_list args); +void acpi_os_redirect_output(void *destination); +#ifdef ACPI_FUTURE_USAGE /* * Debug input */ - -#ifdef ACPI_FUTURE_USAGE -u32 -acpi_os_get_line ( - char *buffer); +u32 acpi_os_get_line(char *buffer); #endif - /* * Directory manipulation */ - -void * -acpi_os_open_directory ( - char *pathname, - char *wildcard_spec, - char requested_file_type); +void *acpi_os_open_directory(char *pathname, + char *wildcard_spec, char requested_file_type); /* requeste_file_type values */ #define REQUEST_FILE_ONLY 0 #define REQUEST_DIR_ONLY 1 +char *acpi_os_get_next_filename(void *dir_handle); -char * -acpi_os_get_next_filename ( - void *dir_handle); - -void -acpi_os_close_directory ( - void *dir_handle); - -/* - * Debug - */ - -void -acpi_os_dbg_assert( - void *failed_assertion, - void *file_name, - u32 line_number, - char *message); - +void acpi_os_close_directory(void *dir_handle); -#endif /* __ACPIOSXF_H__ */ +#endif /* __ACPIOSXF_H__ */