Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7c9626ba authored by Bob Moore's avatar Bob Moore Committed by Len Brown
Browse files

ACPICA: Ensure that all structures in acobject.h are aligned, via #pragma.



Thus, even if the default compiler setting is non-aligned, the header is compiled
 correctly.

Signed-off-by: default avatarAlexey Starikovskiy <alexey.y.starikovskiy@intel.com>
Signed-off-by: default avatarLen Brown <len.brown@intel.com>
parent 8876016b
Loading
Loading
Loading
Loading
+15 −2
Original line number Diff line number Diff line
@@ -52,7 +52,15 @@
 * to the interpreter, and to keep track of the various handlers such as
 * address space handlers and notify handlers. The object is a constant
 * size in order to allow it to be cached and reused.
 *
 * Note: The object is optimized to be aligned and will not work if it is
 * byte-packed.
 */
#if ACPI_MACHINE_WIDTH == 64
#pragma pack(8)
#else
#pragma pack(4)
#endif

/*******************************************************************************
 *
@@ -101,7 +109,8 @@ struct acpi_object_common {
ACPI_OBJECT_COMMON_HEADER};

struct acpi_object_integer {
	ACPI_OBJECT_COMMON_HEADER acpi_integer value;
	ACPI_OBJECT_COMMON_HEADER u8 fill[3];	/* Prevent warning on some compilers */
	acpi_integer value;
};

/*
@@ -203,7 +212,9 @@ struct acpi_object_power_resource {
};

struct acpi_object_processor {
	ACPI_OBJECT_COMMON_HEADER u8 proc_id;
	ACPI_OBJECT_COMMON_HEADER
	    /* The next two fields take advantage of the 3-byte space before NOTIFY_INFO */
	u8 proc_id;
	u8 length;
	 ACPI_COMMON_NOTIFY_INFO acpi_io_address address;
};
@@ -406,4 +417,6 @@ union acpi_descriptor {
	union acpi_parse_object op;
};

#pragma pack()

#endif				/* _ACOBJECT_H */
+4 −0
Original line number Diff line number Diff line
@@ -156,6 +156,7 @@ typedef u64 acpi_physical_address;
#define ACPI_MAX_PTR                    ACPI_UINT64_MAX
#define ACPI_SIZE_MAX                   ACPI_UINT64_MAX

#define ACPI_NATIVE_BOUNDARY            8
#define ACPI_USE_NATIVE_DIVIDE	/* Has native 64-bit integer support */

/*
@@ -196,6 +197,8 @@ typedef u32 acpi_physical_address;
#define ACPI_MAX_PTR                    ACPI_UINT32_MAX
#define ACPI_SIZE_MAX                   ACPI_UINT32_MAX

#define ACPI_NATIVE_BOUNDARY            4

/*******************************************************************************
 *
 * Types specific to 16-bit targets
@@ -222,6 +225,7 @@ typedef char *acpi_physical_address;
#define ACPI_MAX_PTR                    ACPI_UINT16_MAX
#define ACPI_SIZE_MAX                   ACPI_UINT16_MAX

#define ACPI_NATIVE_BOUNDARY            2
#define ACPI_USE_NATIVE_DIVIDE	/* No 64-bit integers, ok to use native divide */

/* 64-bit integers cannot be supported */