diff options
| author | Dou Liyang <[email protected]> | 2016-08-25 08:35:20 +0000 |
|---|---|---|
| committer | Thomas Gleixner <[email protected]> | 2016-09-21 19:18:40 +0000 |
| commit | fd74da217df7d4bd25e95411da64e0b92762842e (patch) | |
| tree | e1286e0caf327a031a9d92d504af925524fe858d /drivers/acpi/acpi_processor.c | |
| parent | acpi: Provide mechanism to validate processors in the ACPI tables (diff) | |
| download | kernel-fd74da217df7d4bd25e95411da64e0b92762842e.tar.gz kernel-fd74da217df7d4bd25e95411da64e0b92762842e.zip | |
acpi: Validate processor id when mapping the processor
When we want to identify whether the proc_id is unreasonable or not, we
can call the "acpi_processor_validate_proc_id" function. It will search
in the duplicate IDs. If we find the proc_id in the IDs, we return true
to the call function. Conversely, the false represents available.
When we establish all possible cpuid <-> nodeid mapping to handle the
cpu hotplugs, we will use the proc_id from ACPI table.
We do validation when we get the proc_id. If the result is true, we
will stop the mapping.
[ tglx: Mark the new function __init ]
Signed-off-by: Dou Liyang <[email protected]>
Acked-by: Ingo Molnar <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Thomas Gleixner <[email protected]>
Diffstat (limited to 'drivers/acpi/acpi_processor.c')
| -rw-r--r-- | drivers/acpi/acpi_processor.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/acpi/acpi_processor.c b/drivers/acpi/acpi_processor.c index f27c709186c1..3de3b6b8f0f1 100644 --- a/drivers/acpi/acpi_processor.c +++ b/drivers/acpi/acpi_processor.c @@ -659,6 +659,21 @@ static void __init acpi_processor_check_duplicates(void) NULL, NULL, NULL); } +bool __init acpi_processor_validate_proc_id(int proc_id) +{ + int i; + + /* + * compare the proc_id with duplicate IDs, if the proc_id is already + * in the duplicate IDs, return true, otherwise, return false. + */ + for (i = 0; i < nr_duplicate_ids; i++) { + if (duplicate_processor_ids[i] == proc_id) + return true; + } + return false; +} + void __init acpi_processor_init(void) { acpi_processor_check_duplicates(); |
