summaryrefslogtreecommitdiff
path: root/payloads/libpayload/include
diff options
context:
space:
mode:
Diffstat (limited to 'payloads/libpayload/include')
-rw-r--r--payloads/libpayload/include/arm/arch/exception.h2
-rw-r--r--payloads/libpayload/include/arm64/arch/exception.h2
-rw-r--r--payloads/libpayload/include/cbfs_core.h17
-rw-r--r--payloads/libpayload/include/compiler.h28
-rw-r--r--payloads/libpayload/include/fmap_serialized.h4
-rw-r--r--payloads/libpayload/include/libpayload.h3
-rw-r--r--payloads/libpayload/include/mips/arch/exception.h2
-rw-r--r--payloads/libpayload/include/stdio.h8
-rw-r--r--payloads/libpayload/include/stdlib.h4
-rw-r--r--payloads/libpayload/include/usb/usb.h22
-rw-r--r--payloads/libpayload/include/x86/arch/exception.h2
11 files changed, 62 insertions, 32 deletions
diff --git a/payloads/libpayload/include/arm/arch/exception.h b/payloads/libpayload/include/arm/arch/exception.h
index fbbce5ed3d..9a631e4614 100644
--- a/payloads/libpayload/include/arm/arch/exception.h
+++ b/payloads/libpayload/include/arm/arch/exception.h
@@ -39,7 +39,7 @@ struct exception_state
{
u32 regs[16];
u32 cpsr;
-} __attribute__((packed));
+} __packed;
extern struct exception_state exception_state;
extern u32 exception_stack[];
diff --git a/payloads/libpayload/include/arm64/arch/exception.h b/payloads/libpayload/include/arm64/arch/exception.h
index f5026f8402..8afe39103b 100644
--- a/payloads/libpayload/include/arm64/arch/exception.h
+++ b/payloads/libpayload/include/arm64/arch/exception.h
@@ -39,7 +39,7 @@ struct exception_state
uint64_t elr;
uint64_t esr;
uint64_t regs[31];
-} __attribute__((packed));
+} __packed;
extern struct exception_state *exception_state;
diff --git a/payloads/libpayload/include/cbfs_core.h b/payloads/libpayload/include/cbfs_core.h
index f45139e9aa..1f155df0ca 100644
--- a/payloads/libpayload/include/cbfs_core.h
+++ b/payloads/libpayload/include/cbfs_core.h
@@ -50,6 +50,7 @@
#include <stddef.h>
#include <stdint.h>
#include <stdlib.h>
+#include <compiler.h>
/** These are standard values for the known compression
alogrithms that coreboot knows about for stages and
@@ -97,7 +98,7 @@ struct cbfs_header {
uint32_t offset;
uint32_t architecture;
uint32_t pad[1];
-} __attribute__((packed));
+} __packed;
/* this used to be flexible, but wasn't ever set to something different. */
#define CBFS_ALIGNMENT 64
@@ -134,7 +135,7 @@ struct cbfs_file {
uint32_t attributes_offset;
uint32_t offset;
char filename[];
-} __attribute__((packed));
+} __packed;
/* Depending on how the header was initialized, it may be backed with 0x00 or
* 0xff. Support both. */
@@ -151,7 +152,7 @@ struct cbfs_file_attribute {
/* len covers the whole structure, incl. tag and len */
uint32_t len;
uint8_t data[0];
-} __attribute__((packed));
+} __packed;
struct cbfs_file_attr_compression {
uint32_t tag;
@@ -159,7 +160,7 @@ struct cbfs_file_attr_compression {
/* whole file compression format. 0 if no compression. */
uint32_t compression;
uint32_t decompressed_size;
-} __attribute__((packed));
+} __packed;
struct cbfs_file_attr_hash {
uint32_t tag;
@@ -167,7 +168,7 @@ struct cbfs_file_attr_hash {
uint32_t hash_type;
/* hash_data is len - sizeof(struct) bytes */
uint8_t hash_data[];
-} __PACKED;
+} __packed;
/*** Component sub-headers ***/
@@ -183,7 +184,7 @@ struct cbfs_stage {
uint64_t load; /** Where to load in memory */
uint32_t len; /** length of data to load */
uint32_t memlen; /** total length of object in memory */
-} __attribute__((packed));
+} __packed;
/** this is the sub-header for payload components. Payloads
are loaded by coreboot at the end of the boot process */
@@ -195,7 +196,7 @@ struct cbfs_payload_segment {
uint64_t load_addr;
uint32_t len;
uint32_t mem_len;
-} __attribute__((packed));
+} __packed;
struct cbfs_payload {
struct cbfs_payload_segment segments;
@@ -210,7 +211,7 @@ struct cbfs_payload {
struct cbfs_optionrom {
uint32_t compression;
uint32_t len;
-} __attribute__((packed));
+} __packed;
#define CBFS_MEDIA_INVALID_MAP_ADDRESS ((void*)(0xffffffff))
#define CBFS_DEFAULT_MEDIA ((void*)(0x0))
diff --git a/payloads/libpayload/include/compiler.h b/payloads/libpayload/include/compiler.h
new file mode 100644
index 0000000000..f218725086
--- /dev/null
+++ b/payloads/libpayload/include/compiler.h
@@ -0,0 +1,28 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright 2017 Google Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef __COMPILER_H__
+#define __COMPILER_H__
+
+#if defined(__WIN32) || defined(__WIN64)
+#define __packed __attribute__((gcc_struct, packed))
+#else
+#define __packed __attribute__((packed))
+#endif
+
+#define __aligned(x) __attribute__((aligned(x)))
+#define __always_unused __attribute__((unused))
+
+#endif
diff --git a/payloads/libpayload/include/fmap_serialized.h b/payloads/libpayload/include/fmap_serialized.h
index 3585f0bc84..1e83760442 100644
--- a/payloads/libpayload/include/fmap_serialized.h
+++ b/payloads/libpayload/include/fmap_serialized.h
@@ -56,7 +56,7 @@ struct fmap_area {
uint32_t size; /* size in bytes */
uint8_t name[FMAP_STRLEN]; /* descriptive name */
uint16_t flags; /* flags for this area */
-} __attribute__((packed));
+} __packed;
struct fmap {
uint8_t signature[8]; /* "__FMAP__" (0x5F5F464D41505F5F) */
@@ -68,6 +68,6 @@ struct fmap {
uint16_t nareas; /* number of areas described by
fmap_areas[] below */
struct fmap_area areas[];
-} __attribute__((packed));
+} __packed;
#endif /* FLASHMAP_SERIALIZED_H__ */
diff --git a/payloads/libpayload/include/libpayload.h b/payloads/libpayload/include/libpayload.h
index 54e01623a1..83658d15b4 100644
--- a/payloads/libpayload/include/libpayload.h
+++ b/payloads/libpayload/include/libpayload.h
@@ -44,6 +44,7 @@
#define _LIBPAYLOAD_H
#include <libpayload-config.h>
+#include <compiler.h>
#include <cbgfx.h>
#include <ctype.h>
#include <die.h>
@@ -361,7 +362,7 @@ long long int llabs(long long int j);
u8 bin2hex(u8 b);
u8 hex2bin(u8 h);
void hexdump(const void *memory, size_t length);
-void fatal(const char *msg) __attribute__ ((noreturn));
+void fatal(const char *msg) __attribute__((noreturn));
/* Count Leading Zeroes: clz(0) == 32, clz(0xf) == 28, clz(1 << 31) == 0 */
static inline int clz(u32 x) { return x ? __builtin_clz(x) : sizeof(x) * 8; }
diff --git a/payloads/libpayload/include/mips/arch/exception.h b/payloads/libpayload/include/mips/arch/exception.h
index 6af5f8e793..27f0b6417b 100644
--- a/payloads/libpayload/include/mips/arch/exception.h
+++ b/payloads/libpayload/include/mips/arch/exception.h
@@ -70,7 +70,7 @@ struct exception_state_t {
u32 ra;
} regs;
u32 vector;
-} __attribute__((packed));
+} __packed;
extern struct exception_state_t *exception_state_ptr;
extern u32 *exception_stack_end;
diff --git a/payloads/libpayload/include/stdio.h b/payloads/libpayload/include/stdio.h
index d2db640118..431042c1ee 100644
--- a/payloads/libpayload/include/stdio.h
+++ b/payloads/libpayload/include/stdio.h
@@ -43,13 +43,13 @@ extern FILE *stdout, *stdin, *stderr;
* @{
*/
int snprintf(char *str, size_t size, const char *fmt, ...)
- __attribute__ ((format (printf, 3, 4)));
+ __attribute__((format (printf, 3, 4)));
int sprintf(char *str, const char *fmt, ...)
- __attribute__ ((format (printf, 2, 3)));
+ __attribute__((format (printf, 2, 3)));
int printf(const char *fmt, ...)
- __attribute__ ((format (printf, 1, 2)));
+ __attribute__((format (printf, 1, 2)));
int fprintf(FILE *file, const char *fmt, ...)
- __attribute__ ((format (printf, 2, 3)));
+ __attribute__((format (printf, 2, 3)));
/** @} */
void perror(const char *s);
diff --git a/payloads/libpayload/include/stdlib.h b/payloads/libpayload/include/stdlib.h
index 689bf01b68..658fe610d0 100644
--- a/payloads/libpayload/include/stdlib.h
+++ b/payloads/libpayload/include/stdlib.h
@@ -214,8 +214,8 @@ void srand(unsigned int seed);
/**
* Stop execution and halt the processor (this function does not return).
*/
-void halt(void) __attribute__ ((noreturn));
-void exit(int status) __attribute__ ((noreturn));
+void halt(void) __attribute__((noreturn));
+void exit(int status) __attribute__((noreturn));
#define abort() halt() /**< Alias for the halt() function */
#if IS_ENABLED(CONFIG_LP_REMOTEGDB)
/* Override abort()/halt() to trap into GDB if it is enabled. */
diff --git a/payloads/libpayload/include/usb/usb.h b/payloads/libpayload/include/usb/usb.h
index e93a11e616..ef1892661c 100644
--- a/payloads/libpayload/include/usb/usb.h
+++ b/payloads/libpayload/include/usb/usb.h
@@ -83,13 +83,13 @@ typedef struct {
unsigned long ttThinkTime:2;
unsigned long arePortIndicatorsSupported:1;
unsigned long:8;
- } __attribute__ ((packed));
+ } __packed;
unsigned short wHubCharacteristics;
- } __attribute__ ((packed));
+ } __packed;
unsigned char bPowerOn2PwrGood;
unsigned char bHubContrCurrent;
char DeviceRemovable[];
-} __attribute__ ((packed)) hub_descriptor_t;
+} __packed hub_descriptor_t;
typedef struct {
unsigned char bLength;
@@ -106,7 +106,7 @@ typedef struct {
unsigned char iProduct;
unsigned char iSerialNumber;
unsigned char bNumConfigurations;
-} __attribute__ ((packed)) device_descriptor_t;
+} __packed device_descriptor_t;
typedef struct {
unsigned char bLength;
@@ -117,7 +117,7 @@ typedef struct {
unsigned char iConfiguration;
unsigned char bmAttributes;
unsigned char bMaxPower;
-} __attribute__ ((packed)) configuration_descriptor_t;
+} __packed configuration_descriptor_t;
typedef struct {
unsigned char bLength;
@@ -129,7 +129,7 @@ typedef struct {
unsigned char bInterfaceSubClass;
unsigned char bInterfaceProtocol;
unsigned char iInterface;
-} __attribute__ ((packed)) interface_descriptor_t;
+} __packed interface_descriptor_t;
typedef struct {
unsigned char bLength;
@@ -138,7 +138,7 @@ typedef struct {
unsigned char bmAttributes;
unsigned short wMaxPacketSize;
unsigned char bInterval;
-} __attribute__ ((packed)) endpoint_descriptor_t;
+} __packed endpoint_descriptor_t;
typedef struct {
unsigned char bLength;
@@ -148,7 +148,7 @@ typedef struct {
unsigned char bNumDescriptors;
unsigned char bReportDescriptorType;
unsigned short wReportDescriptorLength;
-} __attribute__ ((packed)) hid_descriptor_t;
+} __packed hid_descriptor_t;
typedef struct {
union {
@@ -156,14 +156,14 @@ typedef struct {
dev_req_recp req_recp:5;
dev_req_type req_type:2;
dev_req_dir data_dir:1;
- } __attribute__ ((packed));
+ } __packed;
unsigned char bmRequestType;
- } __attribute__ ((packed));
+ } __packed;
unsigned char bRequest;
unsigned short wValue;
unsigned short wIndex;
unsigned short wLength;
-} __attribute__ ((packed)) dev_req_t;
+} __packed dev_req_t;
struct usbdev_hc;
typedef struct usbdev_hc hci_t;
diff --git a/payloads/libpayload/include/x86/arch/exception.h b/payloads/libpayload/include/x86/arch/exception.h
index fe222aa4f2..8acdb09552 100644
--- a/payloads/libpayload/include/x86/arch/exception.h
+++ b/payloads/libpayload/include/x86/arch/exception.h
@@ -58,7 +58,7 @@ struct exception_state
} regs;
u32 error_code;
u32 vector;
-} __attribute__((packed));
+} __packed;
extern struct exception_state *exception_state;
extern u32 exception_stack[];