xemu/hw/arm
Dongjiu Geng 205cc75dee ACPI: Build Hardware Error Source Table
This patch builds Hardware Error Source Table(HEST) via fw_cfg blobs.
Now it only supports ARMv8 SEA, a type of Generic Hardware Error
Source version 2(GHESv2) error source. Afterwards, we can extend
the supported types if needed. For the CPER section, currently it
is memory section because kernel mainly wants userspace to handle
the memory errors.

This patch follows the spec ACPI 6.2 to build the Hardware Error
Source table. For more detailed information, please refer to
document: docs/specs/acpi_hest_ghes.rst

build_ghes_hw_error_notification() helper will help to add Hardware
Error Notification to ACPI tables without using packed C structures
and avoid endianness issues as API doesn't need explicit conversion.

Signed-off-by: Xiang Zheng <zhengxiang9@huawei.com>
Signed-off-by: Dongjiu Geng <gengdongjiu@huawei.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Message-id: 20200512030609.19593-6-gengdongjiu@huawei.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2020-05-14 15:03:09 +01:00
..
allwinner-a10.c hw/arm/allwinner: add RTC device support 2020-03-12 16:27:33 +00:00
allwinner-h3.c hw/arm/allwinner: add RTC device support 2020-03-12 16:27:33 +00:00
armsse.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
armv7m.c hw/core/loader: Let load_elf() populate a field with CPU-specific flags 2020-01-29 19:28:52 +01:00
aspeed_ast2600.c aspeed: Support AST2600A1 silicon revision 2020-05-11 11:00:26 +01:00
aspeed_soc.c hw/arm: ast2400/ast2500: Wire up EHCI controllers 2020-02-13 14:14:55 +00:00
aspeed.c aspeed: Add support for the sonorapass-bmc board 2020-05-14 15:03:08 +01:00
bcm2835_peripherals.c hw/arm/bcm283x: Correct the license text 2020-03-23 17:22:30 +00:00
bcm2836.c hw/arm/bcm283x: Correct the license text 2020-03-23 17:22:30 +00:00
boot.c Remove unnecessary cast when using the address_space API 2020-02-20 14:47:08 +01:00
collie.c hw/arm/collie: Put StrongARMState* into a CollieMachineState struct 2020-04-03 19:23:37 +01:00
cubieboard.c hw/arm/allwinner: add SD/MMC host controller 2020-03-12 16:27:33 +00:00
digic_boards.c arm/digic_boards: use memdev for RAM 2020-02-19 16:49:54 +00:00
digic.c hw/arm: Use ARM_CPU_TYPE_NAME() macro when appropriate 2019-09-03 16:20:34 +01:00
exynos4_boards.c Machine + x86 queue, 2019-09-03 2019-09-04 14:44:54 +01:00
exynos4210.c hw/arm: Let devices own the MemoryRegion they create 2020-03-17 15:18:50 +01:00
fsl-imx6.c * Bugfixes all over the place 2020-03-17 18:33:05 +00:00
fsl-imx6ul.c * Bugfixes all over the place 2020-03-17 18:33:05 +00:00
fsl-imx7.c hw/arm: Replace global smp variables with machine smp properties 2019-07-05 17:08:03 -03:00
fsl-imx25.c hw/arm: Let devices own the MemoryRegion they create 2020-03-17 15:18:50 +01:00
fsl-imx31.c hw/arm: Let devices own the MemoryRegion they create 2020-03-17 15:18:50 +01:00
gumstix.c hw/arm/gumstix: Simplify since the machines are little-endian only 2020-03-05 16:09:14 +00:00
highbank.c arm/highbank: use memdev for RAM 2020-02-19 16:49:54 +00:00
imx25_pdk.c hw/arm/fsl-imx25: Wire up eSDHC controllers 2020-03-12 16:27:33 +00:00
integratorcp.c hw/arm/integratorcp: Map the audio codec controller 2020-02-28 16:14:57 +00:00
Kconfig hw/arm/virt: Add nvdimm hot-plug infrastructure 2020-05-04 10:25:02 -04:00
kzm.c arm/kzm: use memdev for RAM 2020-02-19 16:49:55 +00:00
mainstone.c hw/arm: Use memory_region_init_rom() with read-only regions 2020-03-17 15:18:46 +01:00
Makefile.objs hw/arm: add Xunlong Orange Pi PC machine 2020-03-12 16:27:33 +00:00
mcimx6ul-evk.c arm/mcimx6ul-evk: use memdev for RAM 2020-02-19 16:49:55 +00:00
mcimx7d-sabre.c arm/mcimx7d-sabre: use memdev for RAM 2020-02-19 16:49:55 +00:00
microbit.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
mps2-tz.c hw/arm/mps2-tz: Use TYPE_IOTKIT instead of hardcoded string 2020-05-04 10:32:46 +01:00
mps2.c arm/mps2: use memdev for RAM 2020-02-19 16:49:55 +00:00
msf2-soc.c msf2: Add EMAC block to SmartFusion2 SoC 2020-04-30 11:52:28 +01:00
msf2-som.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
musca.c hw: Move PL031 device from hw/timer/ to hw/rtc/ subdirectory 2019-10-24 20:10:27 +02:00
musicpal.c hw/arm/musicpal: Map the UART devices unconditionally 2020-05-11 11:48:50 +01:00
netduino2.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
netduinoplus2.c hw/arm: Add the Netduino Plus 2 2020-01-17 14:09:29 +00:00
nrf51_soc.c hw/timer/nrf51_timer: Display timer ID in trace events 2020-05-11 11:05:52 +01:00
nseries.c arm/nseries: use memdev for RAM 2020-02-19 16:49:56 +00:00
omap1.c omap-gpio: remove PROP_PTR 2020-01-07 17:24:29 +04:00
omap2.c omap-gpio: remove PROP_PTR 2020-01-07 17:24:29 +04:00
omap_sx1.c hw/arm: Use memory_region_init_rom() with read-only regions 2020-03-17 15:18:46 +01:00
orangepi.c hw/arm/orangepi: check for potential NULL pointer when calling blk_is_available 2020-03-30 13:18:58 +01:00
palm.c hw/arm: Use memory_region_init_rom() with read-only regions 2020-03-17 15:18:46 +01:00
pxa2xx_gpio.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
pxa2xx_pic.c Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
pxa2xx.c hw/arm/pxa2xx: Do not wire up OHCI for PXA255 2020-03-17 11:36:48 +00:00
raspi.c hw/arm/bcm283x: Correct the license text 2020-03-23 17:22:30 +00:00
realview.c hw/arm: simplify arm_load_dtb 2019-09-03 11:26:55 -03:00
sabrelite.c arm/sabrelite: use memdev for RAM 2020-02-19 16:49:56 +00:00
sbsa-ref.c hw/arm: Use TYPE_PL011 to create serial port 2020-02-28 16:14:57 +00:00
smmu-common.c hw/arm/smmu-common: Simplify smmu_find_smmu_pcibus() logic 2020-03-05 16:09:14 +00:00
smmu-internal.h
smmuv3-internal.h hw/arm/smmuv3: Use correct bit positions in EVT_SET_ADDR2 macro 2019-12-20 14:03:00 +00:00
smmuv3.c hw: Remove unnecessary cast when calling dma_memory_read() 2020-02-20 14:47:08 +01:00
spitz.c hw/arm: Use memory_region_init_rom() with read-only regions 2020-03-17 15:18:46 +01:00
stellaris.c hw/arm: Use memory_region_init_rom() with read-only regions 2020-03-17 15:18:46 +01:00
stm32f205_soc.c hw/arm: Let devices own the MemoryRegion they create 2020-03-17 15:18:50 +01:00
stm32f405_soc.c hw/arm: Let devices own the MemoryRegion they create 2020-03-17 15:18:50 +01:00
strongarm.c hw/arm/strongarm: move timer_new from init() into realize() to avoid memleaks 2020-03-05 16:09:16 +00:00
strongarm.h hw/arm/collie: Create the RAM in the board 2019-10-22 17:44:01 +01:00
sysbus-fdt.c hw/arm/virt: vTPM support 2020-03-05 12:18:16 -05:00
tosa.c hw/arm: Use memory_region_init_rom() with read-only regions 2020-03-17 15:18:46 +01:00
trace-events trace-events: Fix attribution of trace points to source 2019-03-22 16:18:07 +00:00
versatilepb.c arm/versatilepb: use memdev for RAM 2020-02-19 16:49:56 +00:00
vexpress.c arm/vexpress: use memdev for RAM 2020-02-19 16:49:56 +00:00
virt-acpi-build.c ACPI: Build Hardware Error Source Table 2020-05-14 15:03:09 +01:00
virt.c hw/arm/virt: Introduce a RAS machine option 2020-05-14 15:03:09 +01:00
xilinx_zynq.c hw/arm/xilinx_zynq: connect uart clocks to slcr 2020-04-30 15:35:41 +01:00
xlnx-versal-virt.c hw/arm: versal-virt: Add support for the RTC 2020-05-04 11:11:28 +01:00
xlnx-versal.c hw/arm: versal: Add support for the RTC 2020-05-04 11:11:28 +01:00
xlnx-zcu102.c hw/arm: xlnx-zcu102: Disable unsupported FDT firmware nodes 2020-04-30 15:35:41 +01:00
xlnx-zynqmp.c hw/arm/xlnx-zynqmp.c: Add missing error-propagation code 2020-03-30 13:18:59 +01:00
z2.c hw/arm/z2: Simplify since the machines are little-endian only 2020-03-05 16:09:15 +00:00