coreboot/src/device
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
..
dram dram/ddr3: Use the same naming convention as DDR4 2024-05-07 10:53:31 +00:00
oprom device/device.h: Rename busses for clarity 2024-01-31 10:36:39 +00:00
azalia_device.c treewide: Get rid of CONFIG_AZALIA_MAX_CODECS 2022-02-22 17:40:30 +00:00
cardbus_device.c device/device.h: Rename busses for clarity 2024-01-31 10:36:39 +00:00
cpu_device.c cpu/x86/topology: Add code to fill in topology on struct path 2023-04-06 15:27:23 +00:00
device.c device/device.h: Fix spelling mistake 2024-01-31 10:36:49 +00:00
device_const.c tree: Drop duplicated <device/{path,resource}.h> 2024-04-12 04:24:20 +00:00
device_util.c tree: Use <stdio.h> for snprintf 2024-05-29 10:33:54 +00:00
gpio.c src/device: Clean up includes 2022-10-26 16:38:11 +00:00
i2c.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
i2c_bus.c device/device.h: Rename busses for clarity 2024-01-31 10:36:39 +00:00
Kconfig arch/io.h: Add port I/O functions to other architectures 2024-06-06 22:05:14 +00:00
Makefile.mk device, security: Rename Makefiles from .inc to .mk 2024-01-24 10:13:21 +00:00
mdio.c device/device.h: Rename busses for clarity 2024-01-31 10:36:39 +00:00
mmio.c tree: Remove blank lines before '}' and after '{' 2024-04-11 19:19:08 +00:00
pci_class.c arch to drivers/intel: Fix misspellings & capitalization issues 2023-09-08 00:53:57 +00:00
pci_device.c tree: Remove blank lines before '}' and after '{' 2024-04-11 19:19:08 +00:00
pci_early.c treewide: Remove duplicated include <device/pci.h> 2023-02-01 03:03:34 +00:00
pci_ops.c treewide: Remove duplicated include <device/pci.h> 2023-02-01 03:03:34 +00:00
pci_rom.c tree: Use <stdio.h> for snprintf 2024-05-29 10:33:54 +00:00
pciexp_device.c device/pciexp_device.c: Fix setting Max Payload Size 2024-02-27 20:23:12 +00:00
pcix_device.c device/device.h: Rename busses for clarity 2024-01-31 10:36:39 +00:00
pnp_device.c device/pnp_device: fix log levels for unassigned resource messages 2024-02-29 21:40:49 +00:00
resource_allocator_common.c src/device: Clean up includes 2022-10-26 16:38:11 +00:00
resource_allocator_v4.c tree: Remove blank lines before '}' and after '{' 2024-04-11 19:19:08 +00:00
root_device.c device/device.h: Rename busses for clarity 2024-01-31 10:36:39 +00:00
smbus_ops.c console: Add format-checking __printf() to die() 2023-05-17 11:23:59 +00:00
software_i2c.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
xhci.c device/xhci: Add functions to work with resource pointers 2023-03-05 15:32:34 +00:00
xhci_resource.c device/xhci: Add functions to work with resource pointers 2023-03-05 15:32:34 +00:00