ACPI: Enable build of AML interpreter debugger
This patch enables ACPICA debugger files using a configurable CONFIG_ACPI_DEBUGGER configuration item. Those debugger related code that was originally masked as ACPI_FUTURE_USAGE now gets unmasked. Necessary OSL stubs are also added in this patch: 1. acpi_os_readable(): This should be arch specific in Linux, while this patch doesn't introduce real implementation and a complex mechanism to allow architecture specific acpi_os_readable() to be implemented to validate the address. It may be done by future commits. 2. acpi_os_get_line(): This is used to obtain debugger command input. This patch only introduces a simple KDB concept example in it and the example should be co-working with the code implemented in acpi_os_printf(). Since this KDB example won't be compiled unless ENABLE_DEBUGGER is defined and it seems Linux has already stopped to use ENABLE_DEBUGGER, thus do not expect it can work properly. This patch also cleans up all other ACPI_FUTURE_USAGE surroundings accordingly. 1. Since linkage error can be automatically detected, declaration in the headers needn't be surrounded by ACPI_FUTURE_USAGE. So only the following separate exported fuction bodies are masked by this macro (other exported fucntions may have already been masked at entire module level via drivers/acpi/acpica/Makefile): acpi_install_exception_handler() acpi_subsystem_status() acpi_get_system_info() acpi_get_statistics() acpi_install_initialization_handler() 2. Since strip can automatically zap the no-user functions, functions that are not marked with ACPI_EXPORT_SYMBOL() needn't get surrounded by ACPI_FUTURE_USAGE. So the following function which is not used by Linux kernel now won't get surrounded by this macro: acpi_ps_get_name() Signed-off-by: Lv Zheng <lv.zheng@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:

committed by
Rafael J. Wysocki

parent
f988f24ee7
commit
4d946f7970
@@ -393,15 +393,11 @@ ACPI_EXTERNAL_RETURN_STATUS(acpi_status __init acpi_terminate(void))
|
||||
*/
|
||||
ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status acpi_enable(void))
|
||||
ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status acpi_disable(void))
|
||||
#ifdef ACPI_FUTURE_USAGE
|
||||
ACPI_EXTERNAL_RETURN_STATUS(acpi_status acpi_subsystem_status(void))
|
||||
#endif
|
||||
|
||||
#ifdef ACPI_FUTURE_USAGE
|
||||
ACPI_EXTERNAL_RETURN_STATUS(acpi_status
|
||||
acpi_get_system_info(struct acpi_buffer
|
||||
*ret_buffer))
|
||||
#endif
|
||||
ACPI_EXTERNAL_RETURN_STATUS(acpi_status
|
||||
acpi_get_statistics(struct acpi_statistics *stats))
|
||||
ACPI_EXTERNAL_RETURN_PTR(const char
|
||||
@@ -625,11 +621,9 @@ ACPI_EXTERNAL_RETURN_STATUS(acpi_status
|
||||
space_id,
|
||||
acpi_adr_space_handler
|
||||
handler))
|
||||
#ifdef ACPI_FUTURE_USAGE
|
||||
ACPI_EXTERNAL_RETURN_STATUS(acpi_status
|
||||
acpi_install_exception_handler
|
||||
(acpi_exception_handler handler))
|
||||
#endif
|
||||
ACPI_EXTERNAL_RETURN_STATUS(acpi_status
|
||||
acpi_install_interface_handler
|
||||
(acpi_interface_handler handler))
|
||||
@@ -750,12 +744,10 @@ ACPI_EXTERNAL_RETURN_STATUS(acpi_status
|
||||
acpi_get_current_resources(acpi_handle device,
|
||||
struct acpi_buffer
|
||||
*ret_buffer))
|
||||
#ifdef ACPI_FUTURE_USAGE
|
||||
ACPI_EXTERNAL_RETURN_STATUS(acpi_status
|
||||
acpi_get_possible_resources(acpi_handle device,
|
||||
struct acpi_buffer
|
||||
*ret_buffer))
|
||||
#endif
|
||||
ACPI_EXTERNAL_RETURN_STATUS(acpi_status
|
||||
acpi_get_event_resources(acpi_handle device_handle,
|
||||
struct acpi_buffer
|
||||
@@ -844,7 +836,6 @@ ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status
|
||||
/*
|
||||
* ACPI Timer interfaces
|
||||
*/
|
||||
#ifdef ACPI_FUTURE_USAGE
|
||||
ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status
|
||||
acpi_get_timer_resolution(u32 *resolution))
|
||||
ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status acpi_get_timer(u32 *ticks))
|
||||
@@ -853,7 +844,6 @@ ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status
|
||||
acpi_get_timer_duration(u32 start_ticks,
|
||||
u32 end_ticks,
|
||||
u32 *time_elapsed))
|
||||
#endif /* ACPI_FUTURE_USAGE */
|
||||
|
||||
/*
|
||||
* Error/Warning output
|
||||
|
@@ -63,12 +63,16 @@
|
||||
|
||||
#define ACPI_USE_SYSTEM_INTTYPES
|
||||
|
||||
/* Compile for reduced hardware mode only with this kernel config */
|
||||
/* Kernel specific ACPICA configuration */
|
||||
|
||||
#ifdef CONFIG_ACPI_REDUCED_HARDWARE_ONLY
|
||||
#define ACPI_REDUCED_HARDWARE 1
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_ACPI_DEBUGGER
|
||||
#define ACPI_DEBUGGER
|
||||
#endif
|
||||
|
||||
#include <linux/string.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/ctype.h>
|
||||
@@ -151,7 +155,6 @@
|
||||
* OSL interfaces used by utilities
|
||||
*/
|
||||
#define ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_redirect_output
|
||||
#define ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_get_line
|
||||
#define ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_get_table_by_name
|
||||
#define ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_get_table_by_index
|
||||
#define ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_get_table_by_address
|
||||
|
@@ -124,6 +124,11 @@ static inline acpi_thread_id acpi_os_get_thread_id(void)
|
||||
lock ? AE_OK : AE_NO_MEMORY; \
|
||||
})
|
||||
|
||||
static inline u8 acpi_os_readable(void *pointer, acpi_size length)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/*
|
||||
* OSL interfaces added by Linux
|
||||
*/
|
||||
|
Reference in New Issue
Block a user