coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
fixed_bars.h File Reference
#include <device/mmio.h>
#include <stdint.h>
Include dependency graph for fixed_bars.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define mchbar_setbits8(addr, set)   mchbar_clrsetbits8(addr, 0, set)
 
#define mchbar_setbits16(addr, set)   mchbar_clrsetbits16(addr, 0, set)
 
#define mchbar_setbits32(addr, set)   mchbar_clrsetbits32(addr, 0, set)
 
#define mchbar_clrbits8(addr, clear)   mchbar_clrsetbits8(addr, clear, 0)
 
#define mchbar_clrbits16(addr, clear)   mchbar_clrsetbits16(addr, clear, 0)
 
#define mchbar_clrbits32(addr, clear)   mchbar_clrsetbits32(addr, clear, 0)
 
#define dmibar_setbits8(addr, set)   dmibar_clrsetbits8(addr, 0, set)
 
#define dmibar_setbits16(addr, set)   dmibar_clrsetbits16(addr, 0, set)
 
#define dmibar_setbits32(addr, set)   dmibar_clrsetbits32(addr, 0, set)
 
#define dmibar_clrbits8(addr, clear)   dmibar_clrsetbits8(addr, clear, 0)
 
#define dmibar_clrbits16(addr, clear)   dmibar_clrsetbits16(addr, clear, 0)
 
#define dmibar_clrbits32(addr, clear)   dmibar_clrsetbits32(addr, clear, 0)
 
#define epbar_setbits8(addr, set)   epbar_clrsetbits8(addr, 0, set)
 
#define epbar_setbits16(addr, set)   epbar_clrsetbits16(addr, 0, set)
 
#define epbar_setbits32(addr, set)   epbar_clrsetbits32(addr, 0, set)
 
#define epbar_clrbits8(addr, clear)   epbar_clrsetbits8(addr, clear, 0)
 
#define epbar_clrbits16(addr, clear)   epbar_clrsetbits16(addr, clear, 0)
 
#define epbar_clrbits32(addr, clear)   epbar_clrsetbits32(addr, clear, 0)
 

Functions

 _Static_assert (CONFIG_FIXED_MCHBAR_MMIO_BASE !=0, "MCHBAR base address is zero")
 
static __always_inline uint8_t mchbar_read8 (const uintptr_t offset)
 
static __always_inline uint16_t mchbar_read16 (const uintptr_t offset)
 
static __always_inline uint32_t mchbar_read32 (const uintptr_t offset)
 
static __always_inline void mchbar_write8 (const uintptr_t offset, const uint8_t value)
 
static __always_inline void mchbar_write16 (const uintptr_t offset, const uint16_t value)
 
static __always_inline void mchbar_write32 (const uintptr_t offset, const uint32_t value)
 
static __always_inline void mchbar_clrsetbits8 (uintptr_t offset, uint8_t clear, uint8_t set)
 
static __always_inline void mchbar_clrsetbits16 (uintptr_t offset, uint16_t clear, uint16_t set)
 
static __always_inline void mchbar_clrsetbits32 (uintptr_t offset, uint32_t clear, uint32_t set)
 
 _Static_assert (CONFIG_FIXED_DMIBAR_MMIO_BASE !=0, "DMIBAR base address is zero")
 
static __always_inline uint8_t dmibar_read8 (const uintptr_t offset)
 
static __always_inline uint16_t dmibar_read16 (const uintptr_t offset)
 
static __always_inline uint32_t dmibar_read32 (const uintptr_t offset)
 
static __always_inline void dmibar_write8 (const uintptr_t offset, const uint8_t value)
 
static __always_inline void dmibar_write16 (const uintptr_t offset, const uint16_t value)
 
static __always_inline void dmibar_write32 (const uintptr_t offset, const uint32_t value)
 
static __always_inline void dmibar_clrsetbits8 (uintptr_t offset, uint8_t clear, uint8_t set)
 
static __always_inline void dmibar_clrsetbits16 (uintptr_t offset, uint16_t clear, uint16_t set)
 
static __always_inline void dmibar_clrsetbits32 (uintptr_t offset, uint32_t clear, uint32_t set)
 
 _Static_assert (CONFIG_FIXED_EPBAR_MMIO_BASE !=0, "EPBAR base address is zero")
 
static __always_inline uint8_t epbar_read8 (const uintptr_t offset)
 
static __always_inline uint16_t epbar_read16 (const uintptr_t offset)
 
static __always_inline uint32_t epbar_read32 (const uintptr_t offset)
 
static __always_inline void epbar_write8 (const uintptr_t offset, const uint8_t value)
 
static __always_inline void epbar_write16 (const uintptr_t offset, const uint16_t value)
 
static __always_inline void epbar_write32 (const uintptr_t offset, const uint32_t value)
 
static __always_inline void epbar_clrsetbits8 (uintptr_t offset, uint8_t clear, uint8_t set)
 
static __always_inline void epbar_clrsetbits16 (uintptr_t offset, uint16_t clear, uint16_t set)
 
static __always_inline void epbar_clrsetbits32 (uintptr_t offset, uint32_t clear, uint32_t set)
 

Macro Definition Documentation

◆ dmibar_clrbits16

#define dmibar_clrbits16 (   addr,
  clear 
)    dmibar_clrsetbits16(addr, clear, 0)

Definition at line 116 of file fixed_bars.h.

◆ dmibar_clrbits32

#define dmibar_clrbits32 (   addr,
  clear 
)    dmibar_clrsetbits32(addr, clear, 0)

Definition at line 117 of file fixed_bars.h.

◆ dmibar_clrbits8

#define dmibar_clrbits8 (   addr,
  clear 
)    dmibar_clrsetbits8(addr, clear, 0)

Definition at line 115 of file fixed_bars.h.

◆ dmibar_setbits16

#define dmibar_setbits16 (   addr,
  set 
)    dmibar_clrsetbits16(addr, 0, set)

Definition at line 112 of file fixed_bars.h.

◆ dmibar_setbits32

#define dmibar_setbits32 (   addr,
  set 
)    dmibar_clrsetbits32(addr, 0, set)

Definition at line 113 of file fixed_bars.h.

◆ dmibar_setbits8

#define dmibar_setbits8 (   addr,
  set 
)    dmibar_clrsetbits8(addr, 0, set)

Definition at line 111 of file fixed_bars.h.

◆ epbar_clrbits16

#define epbar_clrbits16 (   addr,
  clear 
)    epbar_clrsetbits16(addr, clear, 0)

Definition at line 171 of file fixed_bars.h.

◆ epbar_clrbits32

#define epbar_clrbits32 (   addr,
  clear 
)    epbar_clrsetbits32(addr, clear, 0)

Definition at line 172 of file fixed_bars.h.

◆ epbar_clrbits8

#define epbar_clrbits8 (   addr,
  clear 
)    epbar_clrsetbits8(addr, clear, 0)

Definition at line 170 of file fixed_bars.h.

◆ epbar_setbits16

#define epbar_setbits16 (   addr,
  set 
)    epbar_clrsetbits16(addr, 0, set)

Definition at line 167 of file fixed_bars.h.

◆ epbar_setbits32

#define epbar_setbits32 (   addr,
  set 
)    epbar_clrsetbits32(addr, 0, set)

Definition at line 168 of file fixed_bars.h.

◆ epbar_setbits8

#define epbar_setbits8 (   addr,
  set 
)    epbar_clrsetbits8(addr, 0, set)

Definition at line 166 of file fixed_bars.h.

◆ mchbar_clrbits16

#define mchbar_clrbits16 (   addr,
  clear 
)    mchbar_clrsetbits16(addr, clear, 0)

Definition at line 61 of file fixed_bars.h.

◆ mchbar_clrbits32

#define mchbar_clrbits32 (   addr,
  clear 
)    mchbar_clrsetbits32(addr, clear, 0)

Definition at line 62 of file fixed_bars.h.

◆ mchbar_clrbits8

#define mchbar_clrbits8 (   addr,
  clear 
)    mchbar_clrsetbits8(addr, clear, 0)

Definition at line 60 of file fixed_bars.h.

◆ mchbar_setbits16

#define mchbar_setbits16 (   addr,
  set 
)    mchbar_clrsetbits16(addr, 0, set)

Definition at line 57 of file fixed_bars.h.

◆ mchbar_setbits32

#define mchbar_setbits32 (   addr,
  set 
)    mchbar_clrsetbits32(addr, 0, set)

Definition at line 58 of file fixed_bars.h.

◆ mchbar_setbits8

#define mchbar_setbits8 (   addr,
  set 
)    mchbar_clrsetbits8(addr, 0, set)

Definition at line 56 of file fixed_bars.h.

Function Documentation

◆ _Static_assert() [1/3]

_Static_assert ( CONFIG_FIXED_DMIBAR_MMIO_BASE !  = 0,
"DMIBAR base address is zero"   
)

◆ _Static_assert() [2/3]

_Static_assert ( CONFIG_FIXED_EPBAR_MMIO_BASE !  = 0,
"EPBAR base address is zero"   
)

◆ _Static_assert() [3/3]

_Static_assert ( CONFIG_FIXED_MCHBAR_MMIO_BASE !  = 0,
"MCHBAR base address is zero"   
)

◆ dmibar_clrsetbits16()

static __always_inline void dmibar_clrsetbits16 ( uintptr_t  offset,
uint16_t  clear,
uint16_t  set 
)
static

Definition at line 101 of file fixed_bars.h.

References clrsetbits16, and offset.

Referenced by init_dmi().

Here is the caller graph for this function:

◆ dmibar_clrsetbits32()

static __always_inline void dmibar_clrsetbits32 ( uintptr_t  offset,
uint32_t  clear,
uint32_t  set 
)
static

Definition at line 106 of file fixed_bars.h.

References clrsetbits32, and offset.

Referenced by dmi_recipe(), early_init_dmi(), init_dmi(), northbridge_dmi_init(), northbridge_topology_init(), setup_aspm(), and setup_rcrb().

Here is the caller graph for this function:

◆ dmibar_clrsetbits8()

static __always_inline void dmibar_clrsetbits8 ( uintptr_t  offset,
uint8_t  clear,
uint8_t  set 
)
static

Definition at line 96 of file fixed_bars.h.

References clrsetbits8, and offset.

Referenced by init_dmi().

Here is the caller graph for this function:

◆ dmibar_read16()

static __always_inline uint16_t dmibar_read16 ( const uintptr_t  offset)
static

Definition at line 71 of file fixed_bars.h.

References offset, and read16p().

Referenced by early_init_dmi(), i945_setup_dmi_rcrb(), init_dmi(), and setup_heci_uma().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dmibar_read32()

static __always_inline uint32_t dmibar_read32 ( const uintptr_t  offset)
static

Definition at line 76 of file fixed_bars.h.

References offset, and read32p().

Referenced by dmi_recipe(), i945_setup_dmi_rcrb(), i945_setup_root_complex_topology(), and init_dmi().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dmibar_read8()

static __always_inline uint8_t dmibar_read8 ( const uintptr_t  offset)
static

Definition at line 66 of file fixed_bars.h.

References offset, and read8p().

Referenced by dmi_setup(), i945_setup_dmi_rcrb(), and init_dmi().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dmibar_write16()

static __always_inline void dmibar_write16 ( const uintptr_t  offset,
const uint16_t  value 
)
static

Definition at line 86 of file fixed_bars.h.

References offset, value, and write16p().

Referenced by dmi_setup().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dmibar_write32()

static __always_inline void dmibar_write32 ( const uintptr_t  offset,
const uint32_t  value 
)
static

Definition at line 91 of file fixed_bars.h.

References offset, value, and write32p().

Referenced by dmi_recipe(), early_init_dmi(), early_misc_setup(), i945_setup_dmi_rcrb(), i945_setup_root_complex_topology(), init_dmi(), northbridge_dmi_init(), northbridge_init(), northbridge_topology_init(), setup_aspm(), setup_heci_uma(), and setup_rcrb().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dmibar_write8()

static __always_inline void dmibar_write8 ( const uintptr_t  offset,
const uint8_t  value 
)
static

Definition at line 81 of file fixed_bars.h.

References offset, value, and write8p().

Referenced by dmi_setup(), init_dmi(), setup_aspm(), and setup_rcrb().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ epbar_clrsetbits16()

static __always_inline void epbar_clrsetbits16 ( uintptr_t  offset,
uint16_t  clear,
uint16_t  set 
)
static

Definition at line 156 of file fixed_bars.h.

References clrsetbits16, and offset.

◆ epbar_clrsetbits32()

static __always_inline void epbar_clrsetbits32 ( uintptr_t  offset,
uint32_t  clear,
uint32_t  set 
)
static

Definition at line 161 of file fixed_bars.h.

References clrsetbits32, and offset.

Referenced by init_egress(), northbridge_topology_init(), and setup_rcrb().

Here is the caller graph for this function:

◆ epbar_clrsetbits8()

static __always_inline void epbar_clrsetbits8 ( uintptr_t  offset,
uint8_t  clear,
uint8_t  set 
)
static

Definition at line 151 of file fixed_bars.h.

References clrsetbits8, and offset.

Referenced by init_egress().

Here is the caller graph for this function:

◆ epbar_read16()

static __always_inline uint16_t epbar_read16 ( const uintptr_t  offset)
static

Definition at line 126 of file fixed_bars.h.

References offset, and read16p().

Referenced by i945_setup_egress_port(), and init_egress().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ epbar_read32()

static __always_inline uint32_t epbar_read32 ( const uintptr_t  offset)
static

Definition at line 131 of file fixed_bars.h.

References offset, and read32p().

Referenced by i945_setup_egress_port(), i945_setup_root_complex_topology(), init_egress(), and raminit().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ epbar_read8()

static __always_inline uint8_t epbar_read8 ( const uintptr_t  offset)
static

Definition at line 121 of file fixed_bars.h.

References offset, and read8p().

Referenced by init_egress().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ epbar_write16()

static __always_inline void epbar_write16 ( const uintptr_t  offset,
const uint16_t  value 
)
static

Definition at line 141 of file fixed_bars.h.

References offset, value, and write16p().

Here is the call graph for this function:

◆ epbar_write32()

static __always_inline void epbar_write32 ( const uintptr_t  offset,
const uint32_t  value 
)
static

Definition at line 146 of file fixed_bars.h.

References offset, value, and write32p().

Referenced by i945_setup_egress_port(), i945_setup_root_complex_topology(), init_egress(), northbridge_topology_init(), raminit(), setup_rcrb(), and vc1_program_timings().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ epbar_write8()

static __always_inline void epbar_write8 ( const uintptr_t  offset,
const uint8_t  value 
)
static

Definition at line 136 of file fixed_bars.h.

References offset, value, and write8p().

Referenced by init_egress(), setup_rcrb(), and vc1_program_timings().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mchbar_clrsetbits16()

◆ mchbar_clrsetbits32()

◆ mchbar_clrsetbits8()

◆ mchbar_read16()

◆ mchbar_read32()

static __always_inline uint32_t mchbar_read32 ( const uintptr_t  offset)
static

Definition at line 21 of file fixed_bars.h.

References offset, and read32p().

Referenced by acpi_fill_dmar(), aggressive_write_training(), calibrate_24mhz_bclk(), channel_test(), checkreset_ddr2(), configure_dram_control_mode(), ddr3_calibrate_zq(), ddr3_read_io_init(), ddr3_select_clock_mux(), do_ram_command(), does_lane_work(), dram_freq(), dram_ioregs(), dram_jedecreset(), dram_mr2(), dram_odt_stretch(), dram_optimizations(), dram_program_banks(), dram_program_timings(), dram_timing_regs(), dram_zones(), early_graphics_setup(), early_misc_setup(), early_quickpath_init(), final_registers(), find_agrsv_read_margin(), find_fsb_speed(), find_predefined_pattern(), find_read_mpr_margin(), fixup_i945gm_errata(), fsbclk(), get_580(), get_bar_in_mchbar(), get_COMP1(), gm45_early_reset(), gma_pm_init_pre_vbios(), haswell_setup_misc(), i945_setup_dmi_rcrb(), i945_setup_egress_port(), i945_setup_pci_express_x16(), igd_init(), init_dram_ddr3(), init_egress(), init_pm(), jedec_write_leveling(), mainboard_romstage_entry(), memclk(), memory_io_init(), northbridge_init(), odt_setup(), pcode_mailbox_read(), pcode_ready(), program_memory_map(), program_read_timing(), program_timing(), program_timings(), program_write_timing(), raminit(), raminit_get_rank_addr(), raminit_rcomp_calibration(), raminit_receive_enable_calibration(), raminit_thermal(), rcomp_initialization(), read_1d0(), read_500(), read_dqs_level(), read_fsb_clock(), read_training_restore_results(), read_training_store_results(), report_memory_config(), reset_on_bad_warmboot(), restore_timings(), sample_strobes(), save_timings(), sdram_checkrcompoverride(), sdram_detect_ram_speed(), sdram_disable_fast_dispatch(), sdram_dump_mchbar_registers(), sdram_enable_rcomp(), sdram_enable_system_memory_io(), sdram_enhancedmode(), sdram_force_rcomp(), sdram_initialize(), sdram_initialize_system_memory_io(), sdram_on_die_termination(), sdram_periodic_rcomp(), sdram_post_jedec_initialization(), sdram_power_management(), sdram_pre_jedec_initialization(), sdram_program_cke_tristate(), sdram_program_graphics_frequency(), sdram_program_memory_frequency(), sdram_program_odt_tristate(), sdram_program_row_boundaries(), sdram_rcomp(), sdram_rcompupdate(), sdram_recover_receive_enable(), sdram_save_receive_enable(), sdram_set_channel_mode(), sdram_set_timing_and_control(), sdram_timings(), set_334(), set_power_limits(), set_receive_enable(), set_system_memory_frequency(), setup_sdram_meminfo(), sync_dll_test_tap(), test_command_training(), test_tx_dq(), toggle_io_reset(), train_write_flyby(), tx_dq_write_leveling(), wait_for_iosav(), write_1d0(), write_500(), write_level_rank(), write_training_per_group(), write_training_store_results(), and write_training_test().

Here is the call graph for this function:

◆ mchbar_read8()

◆ mchbar_write16()

◆ mchbar_write32()

static __always_inline void mchbar_write32 ( const uintptr_t  offset,
const uint32_t  value 
)
static

Definition at line 36 of file fixed_bars.h.

References offset, value, and write32p().

Referenced by aggressive_read_training(), aggressive_write_training(), broadwell_setup_bars(), calibrate_24mhz_bclk(), channel_test(), clock_crossing_setup(), compute_derived_timings(), configure_dram_control_mode(), ddr3_calibrate_zq(), ddr3_read_io_init(), ddr3_select_clock_mux(), ddr3_write_io_init(), do_ram_command(), do_raminit(), dram_dimm_set_mapping(), dram_freq(), dram_ioregs(), dram_jedecreset(), dram_mr2(), dram_odt_stretch(), dram_optimizations(), dram_program_banks(), dram_program_timings(), dram_timing_regs(), dram_xover(), dram_zones(), early_graphics_setup(), early_misc_setup(), early_quickpath_init(), final_registers(), find_agrsv_read_margin(), find_predefined_pattern(), find_read_mpr_margin(), fixup_i945gm_errata(), get_580(), gm45_early_reset(), haswell_setup_bars(), haswell_setup_iommu(), haswell_setup_misc(), i945_setup_dmi_rcrb(), init_dram_ddr3(), init_freq_scaling(), init_iommu(), init_pm(), iosav_run_queue(), iosav_write_sequence(), jedec_write_leveling(), late_quickpath_init(), launch_dram(), lookup_and_write(), memory_io_init(), northbridge_init(), odt_setup(), pcode_mailbox_read(), pcode_mailbox_write(), post_jedec_sequence(), power_settings(), pre_jedec_memory_map(), program_274265(), program_board_delay(), program_crossclock(), program_memory_map(), program_modules_memory_map(), program_read_timing(), program_timing(), program_timings(), program_write_timing(), raminit(), raminit_receive_enable_calibration(), raminit_thermal(), read_1d0(), read_500(), read_mpr_training(), read_training_restore_results(), receive_enable_calibration(), reset_on_bad_warmboot(), restore_timings(), sdram_checkrcompoverride(), sdram_clk_crossing(), sdram_clkmode(), sdram_detect_ram_speed(), sdram_disable_fast_dispatch(), sdram_dlltiming(), sdram_dradrb(), sdram_enable_rcomp(), sdram_enable_system_memory_io(), sdram_enhancedmode(), sdram_force_rcomp(), sdram_initialize_system_memory_io(), sdram_mmap(), sdram_on_die_termination(), sdram_post_jedec_initialization(), sdram_power_management(), sdram_pre_jedec_initialization(), sdram_program_cke_tristate(), sdram_program_clock_crossing(), sdram_program_dll_timings(), sdram_program_memory_frequency(), sdram_program_odt_tristate(), sdram_program_pll_settings(), sdram_rcomp(), sdram_rcompupdate(), sdram_recover_receive_enable(), sdram_set_channel_mode(), sdram_set_timing_and_control(), sdram_timings(), sdram_write_slew_rates(), set_2d5x_reg(), set_2dx8_reg(), set_2dxx_series(), set_334(), set_6d_reg(), set_dradrb(), set_enhanced_mode(), set_normal_operation(), set_power_limits(), set_read_write_timings(), set_receive_enable(), set_scrambling_seed(), set_system_memory_frequency(), set_wmm_behavior(), setioclk_dram(), setup_heci_uma(), systemagent_early_init(), systemagent_vtd_init(), test_command_training(), test_dq_aligned(), test_tx_dq(), toggle_io_reset(), train_write_flyby(), try_cmd_stretch(), try_init_dram_ddr3(), write_1d0(), write_26c(), write_500(), write_level_rank(), and write_training_test().

Here is the call graph for this function:

◆ mchbar_write8()