diff options
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/bootstate.h | 4 | ||||
-rw-r--r-- | src/include/compiler.h | 28 | ||||
-rw-r--r-- | src/include/console/console.h | 2 | ||||
-rw-r--r-- | src/include/console/spi.h | 5 | ||||
-rw-r--r-- | src/include/cpu/cpu.h | 2 | ||||
-rw-r--r-- | src/include/cpu/x86/smm.h | 13 | ||||
-rw-r--r-- | src/include/device/pci.h | 2 | ||||
-rw-r--r-- | src/include/elog.h | 8 | ||||
-rw-r--r-- | src/include/memory_info.h | 5 | ||||
-rw-r--r-- | src/include/reg_script.h | 2 | ||||
-rw-r--r-- | src/include/smbios.h | 29 | ||||
-rw-r--r-- | src/include/trace.h | 6 | ||||
-rw-r--r-- | src/include/vbe.h | 7 |
13 files changed, 74 insertions, 39 deletions
diff --git a/src/include/bootstate.h b/src/include/bootstate.h index 4e95ca4f3c..c15cb308d7 100644 --- a/src/include/bootstate.h +++ b/src/include/bootstate.h @@ -183,9 +183,9 @@ struct boot_state_init_entry { }; #if ENV_RAMSTAGE -#define BOOT_STATE_INIT_ATTR __attribute__ ((used, section(".bs_init"))) +#define BOOT_STATE_INIT_ATTR __attribute__((used, section(".bs_init"))) #else -#define BOOT_STATE_INIT_ATTR __attribute__ ((unused)) +#define BOOT_STATE_INIT_ATTR __attribute__((unused)) #endif #define BOOT_STATE_INIT_ENTRY(state_, when_, func_, arg_) \ diff --git a/src/include/compiler.h b/src/include/compiler.h new file mode 100644 index 0000000000..f218725086 --- /dev/null +++ b/src/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/src/include/console/console.h b/src/include/console/console.h index e00482439a..aab0411600 100644 --- a/src/include/console/console.h +++ b/src/include/console/console.h @@ -40,7 +40,7 @@ void post_log_clear(void); #endif /* this function is weak and can be overridden by a mainboard function. */ void mainboard_post(u8 value); -void __attribute__ ((noreturn)) die(const char *msg); +void __attribute__((noreturn)) die(const char *msg); #define __CONSOLE_ENABLE__ \ ((ENV_BOOTBLOCK && IS_ENABLED(CONFIG_BOOTBLOCK_CONSOLE)) || \ diff --git a/src/include/console/spi.h b/src/include/console/spi.h index dd33b0f375..42566eb768 100644 --- a/src/include/console/spi.h +++ b/src/include/console/spi.h @@ -18,6 +18,7 @@ #include <rules.h> #include <stdint.h> +#include <compiler.h> void spiconsole_init(void); void spiconsole_tx_byte(unsigned char c); @@ -59,12 +60,12 @@ struct em100_msg_header { uint32_t msg_signature; uint8_t msg_type; uint8_t msg_length; -} __attribute__ ((packed)); +} __packed; struct em100_msg { struct em100_msg_header header; char data[MAX_MSG_LENGTH]; -} __attribute__ ((packed)); +} __packed; diff --git a/src/include/cpu/cpu.h b/src/include/cpu/cpu.h index a78dd2f425..60940f07d1 100644 --- a/src/include/cpu/cpu.h +++ b/src/include/cpu/cpu.h @@ -10,7 +10,7 @@ void initialize_cpus(struct bus *cpu_bus); asmlinkage void secondary_cpu_init(unsigned int cpu_index); int cpu_phys_address_size(void); -#define __cpu_driver __attribute__ ((used, __section__(".rodata.cpu_driver"))) +#define __cpu_driver __attribute__((used, __section__(".rodata.cpu_driver"))) #ifndef __SIMPLE_DEVICE__ /** start of compile time generated pci driver array */ extern struct cpu_driver _cpu_drivers[]; diff --git a/src/include/cpu/x86/smm.h b/src/include/cpu/x86/smm.h index 15e3ed30da..34e3d05f2c 100644 --- a/src/include/cpu/x86/smm.h +++ b/src/include/cpu/x86/smm.h @@ -22,6 +22,7 @@ #include <arch/cpu.h> #include <types.h> +#include <compiler.h> #define SMM_DEFAULT_BASE 0x30000 #define SMM_DEFAULT_SIZE 0x10000 @@ -129,7 +130,7 @@ typedef struct { u64 rdx; u64 rcx; u64 rax; -} __attribute__((packed)) amd64_smm_state_save_area_t; +} __packed amd64_smm_state_save_area_t; /* Intel Core 2 (EM64T) SMM State-Save Area @@ -211,7 +212,7 @@ typedef struct { u64 cr3; u64 cr0; -} __attribute__((packed)) em64t_smm_state_save_area_t; +} __packed em64t_smm_state_save_area_t; /* Intel Revision 30100 SMM State-Save Area @@ -298,7 +299,7 @@ typedef struct { u64 cr3; u64 cr0; -} __attribute__((packed)) em64t100_smm_state_save_area_t; +} __packed em64t100_smm_state_save_area_t; /* Intel Revision 30101 SMM State-Save Area * The following processor architectures use this: @@ -397,7 +398,7 @@ typedef struct { u64 cr3; u64 cr0; -} __attribute__((packed)) em64t101_smm_state_save_area_t; +} __packed em64t101_smm_state_save_area_t; /* Legacy x86 SMM State-Save Area @@ -438,7 +439,7 @@ typedef struct { u32 eflags; u32 cr3; u32 cr0; -} __attribute__((packed)) legacy_smm_state_save_area_t; +} __packed legacy_smm_state_save_area_t; typedef enum { AMD64, @@ -514,7 +515,7 @@ struct smm_runtime { * contiguous like the 1:1 mapping it is up to the caller of the stub * loader to adjust this mapping. */ u8 apic_id_to_cpu[CONFIG_MAX_CPUS]; -} __attribute__ ((packed)); +} __packed; struct smm_module_params { void *arg; diff --git a/src/include/device/pci.h b/src/include/device/pci.h index 4f6dfbc590..a04fc10677 100644 --- a/src/include/device/pci.h +++ b/src/include/device/pci.h @@ -57,7 +57,7 @@ struct pci_driver { const unsigned short *devices; }; -#define __pci_driver __attribute__ ((used, __section__(".rodata.pci_driver"))) +#define __pci_driver __attribute__((used, __section__(".rodata.pci_driver"))) /** start of compile time generated pci driver array */ extern struct pci_driver _pci_drivers[]; /** end of compile time generated pci driver array */ diff --git a/src/include/elog.h b/src/include/elog.h index c960186c03..e309b58dee 100644 --- a/src/include/elog.h +++ b/src/include/elog.h @@ -16,6 +16,8 @@ #ifndef ELOG_H_ #define ELOG_H_ +#include <compiler.h> + /* SMI command code for GSMI event logging */ #define ELOG_GSMI_APM_CNT 0xEF @@ -151,7 +153,7 @@ struct elog_event_data_wake { u8 source; u32 instance; -} __attribute__ ((packed)); +} __packed; /* Chrome OS related events */ #define ELOG_TYPE_CROS_DEVELOPER_MODE 0xa0 @@ -169,7 +171,7 @@ struct elog_event_data_me_extended { u8 progress_code; u8 current_pmevent; u8 current_state; -} __attribute__ ((packed)); +} __packed; /* Last post code from previous boot */ #define ELOG_TYPE_LAST_POST_CODE 0xa3 @@ -195,7 +197,7 @@ struct elog_event_data_me_extended { struct elog_event_mem_cache_update { u8 slot; u8 status; -} __attribute__ ((packed)); +} __packed; /* CPU Thermal Trip */ #define ELOG_TYPE_THERM_TRIP 0xab diff --git a/src/include/memory_info.h b/src/include/memory_info.h index 02904af285..8569ee493a 100644 --- a/src/include/memory_info.h +++ b/src/include/memory_info.h @@ -17,6 +17,7 @@ #define _MEMORY_INFO_H_ #include <stdint.h> +#include <compiler.h> /* * If this table is filled and put in CBMEM, @@ -37,12 +38,12 @@ struct dimm_info { uint16_t mod_id; uint8_t mod_type; uint8_t bus_width; -} __attribute__((packed)); +} __packed; struct memory_info { uint8_t dimm_cnt; /* Maximum num of dimm is 8 */ struct dimm_info dimm[8]; -} __attribute__((packed)); +} __packed; #endif diff --git a/src/include/reg_script.h b/src/include/reg_script.h index 13af794f1c..116dd9264b 100644 --- a/src/include/reg_script.h +++ b/src/include/reg_script.h @@ -107,7 +107,7 @@ struct reg_script_bus_entry { void (*reg_script_write)(struct reg_script_context *ctx); }; -#define REG_SCRIPT_TABLE_ATTRIBUTE __attribute__ ((used, section(".rsbe_init"))) +#define REG_SCRIPT_TABLE_ATTRIBUTE __attribute__((used, section(".rsbe_init"))) #define REG_SCRIPT_BUS_ENTRY(bus_entry_) \ const struct reg_script_bus_entry *rsbe_ ## bus_entry_ \ diff --git a/src/include/smbios.h b/src/include/smbios.h index 28f8d13939..dec0300eef 100644 --- a/src/include/smbios.h +++ b/src/include/smbios.h @@ -19,6 +19,7 @@ #define SMBIOS_H #include <types.h> +#include <compiler.h> unsigned long smbios_write_tables(unsigned long start); int smbios_add_string(char *start, const char *str); @@ -230,7 +231,7 @@ struct smbios_entry { u32 struct_table_address; u16 struct_count; u8 smbios_bcd_revision; -} __attribute__((packed)); +} __packed; struct smbios_type0 { u8 type; @@ -249,7 +250,7 @@ struct smbios_type0 { u8 ec_major_release; u8 ec_minor_release; char eos[2]; -} __attribute__((packed)); +} __packed; struct smbios_type1 { u8 type; @@ -264,7 +265,7 @@ struct smbios_type1 { u8 sku; u8 family; char eos[2]; -} __attribute__((packed)); +} __packed; struct smbios_type2 { u8 type; @@ -275,7 +276,7 @@ struct smbios_type2 { u8 version; u8 serial_number; char eos[2]; -} __attribute__((packed)); +} __packed; enum { SMBIOS_ENCLOSURE_OTHER = 0x01, @@ -336,7 +337,7 @@ struct smbios_type3 { u8 element_record_length; u8 sku_number; char eos[2]; -} __attribute__((packed)); +} __packed; struct smbios_type4 { u8 type; @@ -366,7 +367,7 @@ struct smbios_type4 { u16 processor_characteristics; u16 processor_family2; char eos[2]; -} __attribute__((packed)); +} __packed; struct smbios_type11 { u8 type; @@ -374,7 +375,7 @@ struct smbios_type11 { u16 handle; u8 count; char eos[2]; -} __attribute__((packed)); +} __packed; struct smbios_type15 { u8 type; @@ -391,7 +392,7 @@ struct smbios_type15 { u8 log_type_descriptors; u8 log_type_descriptor_length; char eos[2]; -} __attribute__((packed)); +} __packed; enum { SMBIOS_EVENTLOG_ACCESS_METHOD_IO8 = 0, @@ -418,7 +419,7 @@ struct smbios_type16 { u16 number_of_memory_devices; u64 extended_maximum_capacity; char eos[2]; -} __attribute__((packed)); +} __packed; struct smbios_type17 { u8 type; @@ -447,7 +448,7 @@ struct smbios_type17 { u16 maximum_voltage; u16 configured_voltage; char eos[2]; -} __attribute__((packed)); +} __packed; struct smbios_type32 { u8 type; @@ -456,7 +457,7 @@ struct smbios_type32 { u8 reserved[6]; u8 boot_status; u8 eos[2]; -} __attribute__((packed)); +} __packed; struct smbios_type38 { u8 type; @@ -469,7 +470,7 @@ struct smbios_type38 { u64 base_address; u8 base_address_modifier; u8 irq; -} __attribute__((packed)); +} __packed; typedef enum { SMBIOS_DEVICE_TYPE_OTHER = 0x01, @@ -497,14 +498,14 @@ struct smbios_type41 { u8 function_number: 3; u8 device_number: 5; char eos[2]; -} __attribute__((packed)); +} __packed; struct smbios_type127 { u8 type; u8 length; u16 handle; u8 eos[2]; -} __attribute__((packed)); +} __packed; void smbios_fill_dimm_manufacturer_from_id(uint16_t mod_id, struct smbios_type17 *t); diff --git a/src/include/trace.h b/src/include/trace.h index 8745966bc4..05306f0b30 100644 --- a/src/include/trace.h +++ b/src/include/trace.h @@ -28,16 +28,16 @@ #if CONFIG_TRACE && !defined(__SMM__) void __cyg_profile_func_enter(void *, void *) - __attribute__ ((no_instrument_function)); + __attribute__((no_instrument_function)); void __cyg_profile_func_exit(void *, void *) - __attribute__ ((no_instrument_function)); + __attribute__((no_instrument_function)); extern volatile int trace_dis; #define DISABLE_TRACE do { trace_dis = 1; } while (0); #define ENABLE_TRACE do { trace_dis = 0; } while (0); -#define DISABLE_TRACE_ON_FUNCTION __attribute__ ((no_instrument_function)); +#define DISABLE_TRACE_ON_FUNCTION __attribute__((no_instrument_function)); #else /* !CONFIG_TRACE */ diff --git a/src/include/vbe.h b/src/include/vbe.h index 12fac77357..ceceff29fb 100644 --- a/src/include/vbe.h +++ b/src/include/vbe.h @@ -13,6 +13,7 @@ #ifndef VBE_H #define VBE_H +#include <compiler.h> #include <boot/coreboot_tables.h> // these structs are for input from and output to OF typedef struct { @@ -24,7 +25,7 @@ typedef struct { u8 color_depth; // color depth in bits per pixel u32 framebuffer_address; u8 edid_block_zero[128]; -} __attribute__ ((__packed__)) screen_info_t; +} __packed screen_info_t; typedef struct { u8 signature[4]; @@ -32,7 +33,7 @@ typedef struct { u8 monitor_number; u16 max_screen_width; u8 color_depth; -} __attribute__ ((__packed__)) screen_info_input_t; +} __packed screen_info_input_t; // these structs only store a subset of the VBE defined fields // only those needed. @@ -80,7 +81,7 @@ typedef struct { u32 offscreen_mem_offset; u16 offscreen_mem_size; u8 reserved[206]; -} __attribute__ ((__packed__)) vesa_mode_info_t; +} __packed vesa_mode_info_t; typedef struct { u16 video_mode; |