coreboot/src/include/device
Kyösti Mälkki d2cdfff63b device/pci: Rewrite PCI MMCONF with symbol reference
The effect of pointer aliasing on writes is that any data on CPU
registers that has been resolved from (non-const and non-volatile)
memory objects has to be discarded and resolved. In other words, the
compiler assumes that a pointer that does not have an absolute value
at build-time, and is of type 'void *' or 'char *', may write over
any memory object.

Using a unique datatype for MMIO writes makes the pointer to _not_
qualify for pointer aliasing with any other objects in memory. This
avoid constantly resolving the PCI MMCONF address, which is a derived
value from a 'struct device *'.

Change-Id: Id112aa5e729ffd8015bb806786bdee38783b7ea9
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/31752
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2019-04-07 02:31:36 +00:00
..
dram coreboot: Replace all IS_ENABLED(CONFIG_XXX) with CONFIG(XXX) 2019-03-08 08:33:24 +00:00
azalia.h src/include: Remove use of binary constants 2017-03-13 17:22:59 +01:00
azalia_device.h src: Use 'include <string.h>' when appropriate 2019-03-20 20:27:51 +00:00
cardbus.h src: Use of device_t is deprecated 2018-06-14 09:29:31 +00:00
device.h resources: introduce io_resource() 2019-03-17 03:45:50 +00:00
drm_dp_helper.h
early_smbus.h coreboot: Replace all IS_ENABLED(CONFIG_XXX) with CONFIG(XXX) 2019-03-08 08:33:24 +00:00
hypertransport.h
hypertransport_def.h Fix up remaining boolean uses of CONFIG_XXX to CONFIG(XXX) 2019-03-25 11:03:49 +00:00
i2c.h include/device: Split i2c.h into three 2017-08-18 15:33:29 +00:00
i2c_bus.h device/i2c_bus: allow i2c_bus and i2c_simple to coexist 2018-01-24 05:02:50 +00:00
i2c_simple.h Fix up remaining boolean uses of CONFIG_XXX to CONFIG(XXX) 2019-03-25 11:03:49 +00:00
mmio.h arch/io.h: Separate MMIO and PNP ops 2019-03-04 15:59:23 +00:00
path.h src: Add missing include <stdint.h> 2018-11-01 11:25:07 +00:00
pci.h device/pci_ops: Have only default PCI bus ops available 2019-03-16 15:19:33 +00:00
pci_def.h device/pci_device: Add generic subsystem programming logic 2019-03-21 16:18:37 +00:00
pci_ehci.h coreboot: Replace all IS_ENABLED(CONFIG_XXX) with CONFIG(XXX) 2019-03-08 08:33:24 +00:00
pci_ids.h drivers/intel/wifi: Add support for Harrison Peak (HrP) 9560 module 2019-03-28 18:50:06 +00:00
pci_mmio_cfg.h device/pci: Rewrite PCI MMCONF with symbol reference 2019-04-07 02:31:36 +00:00
pci_ops.h device/pci_ops: Have only default PCI bus ops available 2019-03-16 15:19:33 +00:00
pci_rom.h device/pci_rom: Write _ROM method for VGA devices 2018-01-31 08:36:52 +00:00
pci_type.h device/pci: Rewrite PCI MMCONF with symbol reference 2019-04-07 02:31:36 +00:00
pciexp.h device/pciexp_device: Convert LTR non-snoop/snoop value into common macro 2019-03-27 04:39:48 +00:00
pcix.h src: Use of device_t is deprecated 2018-06-14 09:29:31 +00:00
pnp.h buildsystem: Promote rules.h to default include 2019-01-16 11:51:07 +00:00
pnp_def.h
pnp_ops.h arch/io.h: Separate MMIO and PNP ops 2019-03-04 15:59:23 +00:00
pnp_type.h device/pnp: Add header files for PNP ops 2019-03-04 15:58:55 +00:00
resource.h lib: provide clearer devicetree semantics 2017-04-25 18:14:38 +02:00
smbus.h coreboot: Replace all IS_ENABLED(CONFIG_XXX) with CONFIG(XXX) 2019-03-08 08:33:24 +00:00
smbus_def.h Reinvent I2C ops 2017-08-18 15:33:45 +00:00
spi.h device: Add a new "SPI" device type 2017-02-16 08:41:28 +01:00