[PATCH 04/50] x86/boot/e820: Split minimal UAPI types out into uapi/asm/e820/types.h

From: Ingo Molnar
Date: Sat Jan 28 2017 - 17:48:01 EST


bootparam.h, which defines the legacy 'zeropage' boot parameter area,
requires a small amount of e280 defines in the UAPI space - provide them.

No change in functionality.

Cc: Alex Thorlton <athorlton@xxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Brian Gerst <brgerst@xxxxxxxxx>
Cc: Dan Williams <dan.j.williams@xxxxxxxxx>
Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Huang, Ying <ying.huang@xxxxxxxxx>
Cc: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
Cc: Juergen Gross <jgross@xxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Paul Jackson <pj@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Rafael J. Wysocki <rjw@xxxxxxx>
Cc: Tejun Heo <tj@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Wei Yang <richard.weiyang@xxxxxxxxx>
Cc: Yinghai Lu <yinghai@xxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
---
arch/x86/include/asm/acpi.h | 2 ++
arch/x86/include/asm/e820/types.h | 15 ++-------------
arch/x86/include/uapi/asm/bootparam.h | 2 +-
arch/x86/include/uapi/asm/e820/types.h | 21 +++++++++++++++++++++
4 files changed, 26 insertions(+), 14 deletions(-)

diff --git a/arch/x86/include/asm/acpi.h b/arch/x86/include/asm/acpi.h
index 395b69551fce..2efc768e4362 100644
--- a/arch/x86/include/asm/acpi.h
+++ b/arch/x86/include/asm/acpi.h
@@ -52,6 +52,8 @@ extern u8 acpi_sci_flags;
extern int acpi_sci_override_gsi;
void acpi_pic_sci_set_trigger(unsigned int, u16);

+struct device;
+
extern int (*__acpi_register_gsi)(struct device *dev, u32 gsi,
int trigger, int polarity);
extern void (*__acpi_unregister_gsi)(u32 gsi);
diff --git a/arch/x86/include/asm/e820/types.h b/arch/x86/include/asm/e820/types.h
index cfa8f4a19b5d..cf73c104c041 100644
--- a/arch/x86/include/asm/e820/types.h
+++ b/arch/x86/include/asm/e820/types.h
@@ -1,12 +1,11 @@
#ifndef _ASM_E820_TYPES_H
#define _ASM_E820_TYPES_H

+#include <uapi/asm/e820/types.h>
+
/* Our map: */
#define E820MAP 0x2d0

-/* The maximum number of entries in E820MAP: */
-#define E820MAX 128
-
/*
* The legacy E820 BIOS limits us to 128 (E820MAX) nodes due to the
* constrained space in the zeropage.
@@ -69,16 +68,6 @@
#include <linux/types.h>

/*
- * A single E820 map entry, describing a memory range of [addr...addr+size-1],
- * of 'type' memory type:
- */
-struct e820entry {
- __u64 addr;
- __u64 size;
- __u32 type;
-} __attribute__((packed));
-
-/*
* The whole array of E820 entries:
*/
struct e820map {
diff --git a/arch/x86/include/uapi/asm/bootparam.h b/arch/x86/include/uapi/asm/bootparam.h
index 2214bfc65c66..742333c3ffea 100644
--- a/arch/x86/include/uapi/asm/bootparam.h
+++ b/arch/x86/include/uapi/asm/bootparam.h
@@ -34,7 +34,7 @@
#include <linux/screen_info.h>
#include <linux/apm_bios.h>
#include <linux/edd.h>
-#include <asm/e820/api.h>
+#include <uapi/asm/e820/types.h>
#include <asm/ist.h>
#include <video/edid.h>

diff --git a/arch/x86/include/uapi/asm/e820/types.h b/arch/x86/include/uapi/asm/e820/types.h
new file mode 100644
index 000000000000..8e522eb120aa
--- /dev/null
+++ b/arch/x86/include/uapi/asm/e820/types.h
@@ -0,0 +1,21 @@
+#ifndef _UAPI_ASM_E820_TYPES_H
+#define _UAPI_ASM_E820_TYPES_H
+
+/* The maximum number of entries in E820MAP: */
+#define E820MAX 128
+
+#ifndef __ASSEMBLY__
+
+/*
+ * A single E820 map entry, describing a memory range of [addr...addr+size-1],
+ * of 'type' memory type:
+ */
+struct e820entry {
+ __u64 addr;
+ __u64 size;
+ __u32 type;
+} __attribute__((packed));
+
+#endif /* __ASSEMBLY__ */
+
+#endif /* _UAPI_ASM_E820_TYPES_H */
--
2.7.4