coreboot/src/include
Alper Nebi Yasak 4e00e6291a arch/io.h: Add port I/O functions to other architectures
The QEMU Bochs display driver and the QEMU Firmware Configuration
interface code (in the qemu-i440fx mainboard dir) were written for x86.
These devices are available in QEMU VMs of other architectures as well,
so we want to port them to be independent from x86.

The main problem is that the drivers use x86 port I/O functions to
communicate with devices over PCI I/O space. These are currently not
available for ARM* and RISC-V, although it is often still possible to
access PCI I/O ports over MMIO through a translator.

Add implementations of port I/O functions that work with PCI I/O space
on these architectures as well, assuming there is such a translator at a
known address configured at build-time.

Change-Id: If7d9177283e8c692088ba8e30d6dfe52623c8cb9
Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80372
Reviewed-by: Nico Huber <nico.h@gmx.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
2024-06-06 22:05:14 +00:00
..
acpi acpi: add and use defines for LAPIC feature flags 2024-05-25 14:45:43 +00:00
arch-generic arch/io.h: Add port I/O functions to other architectures 2024-06-06 22:05:14 +00:00
boot lib/coreboot_table: Rename lb_fill_pcie 2022-11-04 19:17:49 +00:00
console Allow to build romstage sources inside the bootblock 2023-11-09 13:20:18 +00:00
cpu cpu/x86/pae/pgtbl.c: extract reusable code from memset_pae() 2024-05-29 13:04:30 +00:00
device include/device: Fix IO resource handling covering 0xFFFF 2024-05-28 09:46:08 +00:00
efi include/efi: Override EFIAPI macro for x86_64 2024-05-11 08:28:17 +00:00
mipi drivers/soundwire/cs42l42: Support CS42L42 SoundWire device 2023-05-25 21:22:32 +00:00
pc80 drivers/pc80/rtc/mc146818rtc.c: Add Kconfig for RTC CMOS base addresses 2023-05-08 17:51:08 +00:00
smp include: Add SPDX-License-Identifiers to files missing them 2022-08-01 13:59:11 +00:00
superio src/include: Add PnP/HWM unset_and_set functions 2020-09-18 12:06:38 +00:00
sys include: Add SPDX-License-Identifiers to files missing them 2022-08-01 13:59:11 +00:00
adainit.h Add option to use Ada code in romstage 2022-12-17 20:48:06 +00:00
asan.h include: Add SPDX-License-Identifiers to files missing them 2022-08-01 13:59:11 +00:00
assert.h treewide: Remove 'extern' from functions declaration 2023-05-26 13:45:24 +00:00
b64_decode.h treewide: replace GPLv2 long form headers with SPDX header 2020-05-06 22:20:57 +00:00
base3.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
boardid.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
boot_device.h drivers/ipmi to lib: Fix misspellings & capitalization issues 2023-12-13 10:42:30 +00:00
bootblock_common.h decompressor: Add CBFS_VERIFICATION support 2021-04-06 07:49:15 +00:00
bootmem.h include/bootmem.h: Add comment 2024-01-18 15:30:35 +00:00
bootmode.h mb/google,samsung: Drop init_bootmode_straps() 2022-04-09 02:50:01 +00:00
bootsplash.h lib: Refactor bmp_load_logo() implementation 2024-04-06 04:31:50 +00:00
bootstate.h tree: Remove unused <string.h> 2024-05-29 10:34:08 +00:00
cbfs.h commonlib/bsd: Remove cb_err_t 2022-03-09 02:18:21 +00:00
cbfs_glue.h vboot: Add VBOOT_CBFS_INTEGRATION support 2022-11-08 23:03:49 +00:00
cbmem.h cbmem.h: Drop cbmem_possible_online in favor of ENV_HAS_CBMEM 2023-10-25 13:58:02 +00:00
cper.h include/cper.h: Add CPER Memory Error Section definitions 2022-12-09 03:46:33 +00:00
crc_byte.h src/include: Add missing includes 2020-07-26 21:37:35 +00:00
ctype.h include: Add SPDX-License-Identifiers to files missing them 2022-08-01 13:59:11 +00:00
delay.h include: Add SPDX-License-Identifiers to files missing them 2022-08-01 13:59:11 +00:00
device_tree.h device_tree: Add function to get top of memory from a FDT blob 2024-06-03 15:38:55 +00:00
dimm_info_util.h arch/x86: Refactor the SMBIOS type 17 write function 2021-11-11 09:10:10 +00:00
dp_aux.h google/trogdor: Add backlight support for Parade ps8640 2021-11-02 08:17:21 +00:00
edid.h include/edid.h: Remove repeated word 2021-01-18 07:37:04 +00:00
elog.h treewide: Remove 'extern' from functions declaration 2023-05-26 13:45:24 +00:00
endian.h treewide: replace GPLv2 long form headers with SPDX header 2020-05-06 22:20:57 +00:00
espi.h include/espi.h: Switch to types.h 2022-03-27 15:13:31 +00:00
fallback.h include: Add SPDX-License-Identifiers to files missing them 2022-08-01 13:59:11 +00:00
fit.h treewide: Move list.h to commonlib 2024-02-24 11:49:46 +00:00
fmap.h src/include: Add missing includes 2020-07-26 21:37:35 +00:00
framebuffer_info.h src: Remove unused <stdbool> 2022-01-19 15:15:50 +00:00
fw_config.h lib/fw_config: Make fw_config_is_provisioned() always available 2023-06-17 02:40:57 +00:00
gpio.h soc/intel/common/gpio: Add function to read GPIO TX value 2023-01-25 14:33:06 +00:00
halt.h treewide: Move stdlib.h to commonlib 2024-03-15 10:09:43 +00:00
identity.h lib/version: Move board identification strings 2023-04-22 16:20:49 +00:00
imd.h include/imd: Improve API documentation 2020-08-26 07:32:37 +00:00
imd_private.h include/imd_private.h: Use C99 flexible arrays 2023-07-30 09:58:12 +00:00
input-event-codes.h drivers/ipmi to lib: Fix misspellings & capitalization issues 2023-12-13 10:42:30 +00:00
inttypes.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
kconfig.h
lib.h lib: Add __fls() (Find Last Set) 2021-12-13 02:57:07 +00:00
limits.h include: Add SPDX-License-Identifiers to files missing them 2022-08-01 13:59:11 +00:00
main_decl.h include: Add SPDX-License-Identifiers to files missing them 2022-08-01 13:59:11 +00:00
memlayout.h Allow to build romstage sources inside the bootblock 2023-11-09 13:20:18 +00:00
memory_info.h memory_info: Bump to 64 DIMMs 2023-07-18 15:06:05 +00:00
memrange.h include/memrange.h: Remove trailing semicolon 2022-09-28 16:12:04 +00:00
metadata_hash.h src: Drop "This file is part of the coreboot project" lines 2021-05-10 15:07:33 +00:00
mrc_cache.h drivers/intel/fsp2_0: Introduce MRC cache store after FSP-M/S APIs 2023-09-05 09:36:17 +00:00
mtcl.h drivers/wifi: Add MTCL function to ACPI SSDT 2024-02-06 03:37:19 +00:00
nhlt.h drivers/ipmi to lib: Fix misspellings & capitalization issues 2023-12-13 10:42:30 +00:00
option.h option: Turn CMOS option backend into choice 2021-05-28 11:37:16 +00:00
post.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
program_loading.h lib/program_loaders.c: Mark run_ramstage with __noreturn 2022-07-14 23:10:17 +00:00
ramdetect.h src/include/ramdetect.h: Add missing includes 2020-07-25 01:25:57 +00:00
random.h arch/x86: Use 'enum cb_err' 2022-12-25 15:09:16 +00:00
reg_script.h tree: Drop duplicated <device/{path,resource}.h> 2024-04-12 04:24:20 +00:00
region_file.h region_file_update_data_arr: Modify region_file with array of buffers 2020-09-16 16:02:54 +00:00
reset.h include: Add SPDX-License-Identifiers to files missing them 2022-08-01 13:59:11 +00:00
rmodule.h tree: Remove unused <string.h> 2024-05-29 10:34:08 +00:00
romstage_common.h arch/x86: Add a common romstage entry 2022-06-07 12:54:39 +00:00
romstage_handoff.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
rtc.h lib/rtc: Add sanity check for time and date 2021-05-30 20:24:13 +00:00
rules.h lib: Remove heap from rmodules 2024-02-26 10:10:07 +00:00
sar.h include/sar.h: Use C99 flexible arrays 2023-07-30 09:57:43 +00:00
sdram_mode.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
smbios.h tree: Add some SMBIOS_PROCESSOR_FAMILY macros 2024-06-01 06:40:14 +00:00
smmstore.h smmstorev2: Load the communication buffer at SMM setup 2024-04-05 07:10:17 +00:00
spd.h include/spd.h: Add SPD_MEMORY_TYPE_LPDDR3_INTEL into spd_memory_type 2024-05-09 11:24:40 +00:00
spd_bin.h spd_bin.h: Use same macro for DDR3 and LPDDR3 2024-05-28 03:21:37 +00:00
spd_cache.h src/lib: Add Kconfig option for SPD cache in FMAP 2020-12-14 08:23:41 +00:00
spi-generic.h drivers/spi: Add ISSI IS25WP256D flash 2023-12-18 20:27:52 +00:00
spi_bitbang.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
spi_flash.h spi: Add new struct spi_flash_bpbits for block protection bits 2023-10-05 12:51:38 +00:00
spi_sdcard.h src/include: Add missing includes 2020-07-26 21:37:35 +00:00
stage_cache.h stage_cache: Add resume_from_stage_cache() 2021-01-29 10:53:33 +00:00
stdarg.h tree: Remove unused <stdarg.h> 2024-05-28 03:22:34 +00:00
stdbool.h src/include: Remove unused 'include <stdint.h>' 2020-07-26 20:59:16 +00:00
stddef.h include/stddef: define SIZE_MAX 2023-10-10 06:43:37 +00:00
stdint.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
stdio.h tree: Use <stdio.h> for snprintf 2024-05-29 10:33:54 +00:00
stdlib.h treewide: Move stdlib.h to commonlib 2024-03-15 10:09:43 +00:00
string.h tree: Use <stdio.h> for snprintf 2024-05-29 10:33:54 +00:00
swab.h include: Add SPDX-License-Identifiers to files missing them 2022-08-01 13:59:11 +00:00
symbols.h symbols: Add __maybe_unused flag to region variable symbols 2024-03-18 16:53:36 +00:00
thread.h rules.h: Use more consistent naming 2022-05-16 21:52:22 +00:00
timer.h timer: Change timer util functions to 64-bit 2022-09-14 11:55:39 +00:00
timestamp.h include: Add 'IWYU pragma: export' comment 2024-04-15 05:30:24 +00:00
types.h treewide: Add 'IWYU pragma: export' comment 2022-11-03 13:05:17 +00:00
uuid.h include/uuid.h: Add missing include 2020-05-28 16:20:40 +00:00
ux_locales.h lib: Support localized text of memory_training_desc in ux_locales.c 2023-06-04 19:00:18 +00:00
vbe.h include: Add SPDX-License-Identifiers to files missing them 2022-08-01 13:59:11 +00:00
version.h lib/version: Move board identification strings 2023-04-22 16:20:49 +00:00
watchdog.h include: Add SPDX-License-Identifiers to files missing them 2022-08-01 13:59:11 +00:00
wrdd.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
xxhash.h lib/xxhash.c: Add new hash functions 2022-09-07 22:24:51 +00:00