SBE Build Process
This article documents the Self-Boot Engine source code build process, using the compiler-independent POSIX 2024-compliant code in the repository at TBD.
Key changes include removing GNU-style extensions such as addprefix and the elimination of conditional decision-making. The latter necessitated adding option-specific .mk files as needed.
Contents
SBE Build Process
Dependencies
Packages
python3 (symbolic link /usr/local/bin/python?)
perl
libxml-libxml-perl
libxml-simple-perl (p5-xml-simple on FreeBSD)
GNU-based cross-build environment
Probably easier to build on an earlier version of Debian, using gcc-10. Run inside a QEMU VM.
qemu-system-ppc64 --enable-kvm -nographic -M pseries,cap-nested-hv=true,cap-ibs=workaround -cpu host -smp cores=4,threads=4,sockets=1 -m 8G -drive file=debian-10.13.0-ppc64el-DVD-1.iso,media=cdrom,if=virtio,id=drive1,format=raw -nic user,ipv6=off,model=e1000,mac=52:54:98:76:54:32,hostfwd=tcp::1013-:22 hd_image.qcow2
Specify /dev/vda to load stuff from the cdrom in the installer and with apt-cdrom add (mount /dev/vda /media/cdrom).
checking for the correct version of gmp.h... yes checking for the correct version of mpfr.h... yes checking for the correct version of mpc.h... no
apt install flex bison (which libs are needed?)
Build mpfr from source code after install GMP
https://www.mpfr.org/mpfr-current/mpfr-4.2.2.tar.xz
Build mpc from scratch
ftp://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.3.1.tar.gz
Run:
git checkout gcc-4_9_2-ppe42
git checkout binutils-2_24-ppe42
to populate the local repositories after cloning. This is before checkout was deprecated in git, so use checkout.
libmpc3, libmpfr3 and libgmp3 are installed by default. Install libmpc3 with apt.
Back in ppe42-gcc
Patch ./gcc/cp/cfns.h to comment out attribute
//#ifdef __GNUC_STDC_INLINE__ //__attribute__ ((__gnu_inline__)) //#endif
./configure --with-gmp-include=?
(not used)
You will need quilt, libgmp-dev, libmpc-dev and libmpfr-dev, gcc-10 and g++-10.
apt install quilt libpmc-dev libmpc-dev libmpfr-dev
gcc-10 and g++-10 can be downloaded from Debian. Use gcc-12 to build gcc-10 and g++-10 with a default
./configure
open-power/sbe
Makefile defers to src/build/Makefile
open-power/sbe/src/build/Makefile
included files
includes src/build/img_defs.mk
include $(BOOT_SRCDIR)/bootfiles.mk
include $(BUILDDATA_SRCDIR)/utils.mk
include $(img).mk
SBE Source Tree Directory Structure
<htmltag tagname="details"><htmltag="summary">sbe/</htmltag></htmltag>
sbe/
- customrc
- env.bash
- LICENSE_PROLOG
- Makefile
- Makefile.gnu
- img_defs.mk
- img_defs.mk.gnu
- sb/
- src/
- boot/
- bootfiles.mk
- loader_l1.S
- loader_l2.c
- loader_l2_setup.S
- Makefile
- otprom_init.S
- OtpromFuseAlter.log
- pibmem_repair/
- scom_repair_axone
- pibmem_repair.S
- scom_repair_p9
- pibmem_repair.S
- scom_repair_axone
- sbeCompression.py
- sbeDecompression.h
- build/
- buildInfo.py
- import_hwp_mk/
- power/
- arrayaccess/
- arrayaccessfiles.mk
- Makefile
- istep2/
- istep2files.mk
- Makefile
- istep3/
- istep3files.mk
- Makefile
- istep4/
- istep4files.mk
- Makefile
- istep5/
- istep5files.mk
- Makefile
- istepcommon/
- istepcommonfiles.mk
- Makefile
- istepmpipl/
- istepmpiplfiles.mk
- Makefile
- arrayaccess/
- power_axone/
- power/
- linkerscripts/
- power/
- linkloader.cmd
- linkotprom.cmd
- linksbe.cmd
- linkseeprom.cmd
- power_axone/
- linkloader.cmd
- linkotprom.cmd
- linkseeprom.cmd
- z/
- linkloader.cmd
- linkotprom.cmd
- linksbe.cmd
- linkseeprom.cmd
- power/
- Makefile
- Makefile.gnu
- pibmem.mk
- parsAndCutElf.py
- power_axone_defs.mk
- power_axone_defs.mk.gnu
- power_defs.mk
- power_defs.mk.gnu
- sbeOpDistribute.py
- security/
- securityRegListGen.py
- seeprom.mk
- updateBuildTag.py
- utils/
- base_ppe_header.S
- base_sbe_fixed.S
- Makefile
- p9_sbe.H
- power/
- sbe_link.H
- power_axone/
- sbe_link.H
- proc_sbe_fixed.H
- sbe_common.H
- utils.mk
- z/
- sbe_link.H
- z_defs.mk
- z_defs.mk.gnu
- hwpf/
- fapi2sbefiles.mk
- ffdc.C
- hw_access.H
- hwp_executor.H
- Makefile
- plat_attribute_service.H
- plat_attributes.H
- plat_error_scope.H
- plat_hw_access.C
- plat_hw_access.H
- plat_includes.H
- plat_ring_traverse.C
- plat_ring_traverse.H
- plat_target.H
- plat_target_definitions.H
- plat_target_filter.H
- plat_target_parms.H
- plat_target_utils.H
- plat_trace.H
- plat_utils.C
- plat_utils.H
- target.C
- target.H
- import/
- chips/
- centaur/
- utils/
- imageProcs/
- cen_ring_id.h
- cen_ringId.C
- cen_ringId.H
- imageProcs/
- utils/
- common/
- utils/
- imageProcs/
- common_ringId.C
- common_ringId.H
- imageProcs/
- utils/
- ocmb/
- explorer/
- procedures/
- hwp/
- memory/
- lib/
- i2c/
- exp_i2c.C
- exp_i2c.H
- exp_i2c_fields.H
- exp_i2c_scom.H
- shared/
- exp_consts.H
- i2c/
- lib/
- memory/
- xml/
- error_info/
- exp_i2c_scom_errors.xml
- mss_exp_errors.xml
- error_info/
- hwp/
- procedures/
- explorer/
- p9/
- common/
- include/
- p9_const_common.H
- p9_frequency_buckets.H
- p9_mc_scom_addresses.H
- p9_mc_scom_addresses_fixes.H
- p9_mc_scom_addresses_fld.H
- p9_mc_scom_addresses_fld_fixes.H
- p9_misc_scom_addresses.H
- p9_misc_scom_addresses_fixes.H
- p9_misc_scom_addresses_fld.H
- p9_misc_scom_addresses_fld_fixes.H
- p9_obus_scom_addresses.H
- p9_obus_scom_addresses_fixes.H
- p9_obus_scom_addresses_fld.H
- p9_obus_scom_addresses_fld_fixes.H
- p9_perv_scom_addresses.H
- p9_perv_scom_addresses_fixes.H
- p9_perv_scom_addresses_fld.H
- p9_perv_scom_addresses_fld_fixes.H
- p9_quad_scom_addresses.H
- p9_quad_scom_addresses_fixes.H
- p9_quad_scom_addresses_fld.H
- p9_quad_scom_addresses_fld_fixes.H
- p9_scom_template_consts.H
- p9_xbus_scom_addresses.H
- p9_xbus_scom_addresses_fixes.H
- p9_xbus_scom_addresses_fld.H
- p9_xbus_scom_addresses_fld_fixes.H
- p9a_mc_scom_addresses.H
- p9a_mc_scom_addresses_fixes.H
- p9a_mc_scom_addresses_fld.H
- p9a_mc_scom_addresses_fld_fixes.H
- p9a_misc_scom_addresses.H
- p9a_misc_scom_addresses_fld.H
- p9a_obus_scom_addresses.H
- p9a_obus_scom_addresses_fld.H
- p9a_perv_scom_addresses.H
- p9a_perv_scom_addresses_fld.H
- p9a_quad_scom_addresses.H
- p9a_quad_scom_addresses_fld.H
- p9a_xbus_scom_addresses.H
- p9a_xbus_scom_addresses_fld.H
- p9n2_mc_scom_addresses.H
- p9n2_mc_scom_addresses_fld.H
- p9n2_misc_scom_addresses.H
- p9n2_misc_scom_addresses_fld.H
- p9n2_obus_scom_addresses.H
- p9n2_obus_scom_addresses_fld.H
- p9n2_perv_scom_addresses.H
- p9n2_perv_scom_addresses_fld.H
- p9n2_quad_scom_addresses.H
- p9n2_quad_scom_addresses_fld.H
- p9n2_xbus_scom_addresses.H
- p9n2_xbus_scom_addresses_fld.H
- include/
- procedures/
- hwp/
- cache/
- p9_hcd_cache.H
- p9_hcd_cache_arrayinit.C
- p9_hcd_cache_arrayinit.H
- p9_hcd_cache_chiplet_init.C
- p9_hcd_cache_chiplet_init.H
- p9_hcd_cache_chiplet_l3_dcc_setup.C
- p9_hcd_cache_chiplet_l3_dcc_setup.H
- p9_hcd_cache_chiplet_reset.C
- p9_hcd_cache_chiplet_reset.H
- p9_hcd_cache_dpll_initf.C
- p9_hcd_cache_dpll_initf.H
- p9_hcd_cache_dpll_setup.C
- p9_hcd_cache_dpll_setup.H
- p9_hcd_cache_gptr_time_initf.C
- p9_hcd_cache_gptr_time_initf.H
- p9_hcd_cache_initf.C
- p9_hcd_cache_initf.H
- p9_hcd_cache_occ_runtime_scom.C
- p9_hcd_cache_occ_runtime_scom.H
- p9_hcd_cache_poweron.C
- p9_hcd_cache_poweron.H
- p9_hcd_cache_ras_runtime_scom.C
- p9_hcd_cache_ras_runtime_scom.H
- p9_hcd_cache_repair_initf.C
- p9_hcd_cache_repair_initf.H
- p9_hcd_cache_scomcust.C
- p9_hcd_cache_scomcust.H
- p9_hcd_cache_scominit.C
- p9_hcd_cache_scominit.H
- p9_hcd_cache_startclocks.C
- p9_hcd_cache_startclocks.H
- p9_hcd_cache_stopclocks.C
- p9_hcd_cache_stopclocks.H
- p9_hcd_l2_stopclocks.C
- p9_hcd_l2_stopclocks.H
- core/
- p9_hcd_core.H
- p9_hcd_core_arrayinit.C
- p9_hcd_core_arrayinit.H
- p9_hcd_core_chiplet_init.C
- p9_hcd_core_chiplet_init.H
- p9_hcd_core_chiplet_reset.C
- p9_hcd_core_chiplet_reset.H
- p9_hcd_core_gptr_time_initf.C
- p9_hcd_core_gptr_time_initf.H
- p9_hcd_core_initf.C
- p9_hcd_core_initf.H
- p9_hcd_core_occ_runtime_scom.C
- p9_hcd_core_occ_runtime_scom.H
- p9_hcd_core_pcb_arb.C
- p9_hcd_core_pcb_arb.H
- p9_hcd_core_poweron.C
- p9_hcd_core_poweron.H
- p9_hcd_core_ras_runtime_scom.C
- p9_hcd_core_ras_runtime_scom.H
- p9_hcd_core_repair_initf.C
- p9_hcd_core_repair_initf.H
- p9_hcd_core_scomcust.C
- p9_hcd_core_scomcust.H
- p9_hcd_core_scominit.C
- p9_hcd_core_scominit.H
- p9_hcd_core_startclocks.C
- p9_hcd_core_startclocks.H
- p9_hcd_core_stopclocks.C
- p9_hcd_core_stopclocks.H
- p9_sbe_instruct_start.C
- p9_sbe_instruct_start.H
- p9_thread_control.C
- p9_thread_control.H
- ffdc/
- p9_eq_clear_atomic_lock.C
- p9_eq_clear_atomic_lock.H
- initfiles/
- p9_core_scom.C
- p9_core_scom.H
- p9_l2_scom.C
- p9_l2_scom.H
- p9_l3_scom.C
- p9_l3_scom.H
- p9_mmu_scom.C
- p9_mmu_scom.H
- p9_ncu_scom.C
- p9_ncu_scom.H
- io/
- p9_sbe_io_eol_toggle.C
- p9_sbe_io_eol_toggle.H
- lib/
- p9_collect_deadman_ffdc.C
- p9_collect_deadman_ffdc.H
- p9_collect_suspend_ffdc.C
- p9_collect_suspend_ffdc.H
- p9_common_clk_ctrl_state.H
- p9_common_poweronoff.C
- p9_common_poweronoff.H
- p9_common_pro_epi_log.C
- p9_common_pro_epi_log.H
- p9_hcd_common.H
- p9_pm_hcd_flags.h
- p9_pm_stop_history.H
- p9_ppe_defs.H
- p9_ppe_utils.C
- p9_ppe_utils.H
- p9_sbe_ppe_ffdc.C
- p9_sbe_ppe_ffdc.H
- p9_sbe_ppe_utils.C
- p9_sbe_ppe_utils.H
- memory/
- lib/
- workarounds
- nvdimm_workarounds.C
- nvdimm_workarounds.H
- workarounds
- lib/
- nest/
- p9_adu_access.C
- p9_adu_access.H
- p9_adu_coherent_utils.C
- p9_adu_coherent_utils.H
- p9_adu_constants.H
- p9_adu_setup.C
- p9_adu_setup.H
- p9_fbc_utils.C
- p9_fbc_utils.H
- p9_inject_local_xstop.C
- p9_inject_local_xstop.H
- p9_l2_flush.C
- p9_l2_flush.H
- p9_l3_flush.C
- p9_l3_flush.H
- p9_pba_access.C
- p9_pba_access.H
- p9_pba_coherent_utils.C
- p9_pba_coherent_utils.H
- p9_pba_constants.H
- p9_pba_setup.C
- p9_pba_setup.H
- p9_sbe_check_quiesce.C
- p9_sbe_check_quiesce.H
- p9_sbe_fabricinit.C
- p9_sbe_fabricinit.H
- p9_sbe_hb_structures.H
- p9_sbe_load_bootloader.C
- p9_sbe_load_bootloader.H
- p9_sbe_mcs_setup.C
- p9_sbe_mcs_setup.H
- p9_sbe_scominit.C
- p9_sbe_scominit.H
- p9_suspend_io.C
- p9_suspend_io.H
- p9_xbus_fir_utils.H
- perv/
- p9_common_stopclocks.C
- p9_common_stopclocks.H
- p9_cplt_stopclocks.C
- p9_cplt_stopclocks.H
- p9_hcd_cache_dcc_skewadjust_setup.C
- p9_hcd_cache_dcc_skewadjust_setup.H
- p9_lpc_utils.C
- p9_lpc_utils.H
- p9_nest_stopclocks.C
- p9_nest_stopclocks.H
- p9_perv_sbe_cmn.C
- p9_perv_sbe_cmn.H
- p9_ram_core.C
- p9_ram_core.H
- p9_sbe_arrayinit.C
- p9_sbe_arrayinit.H
- p9_sbe_attr_setup.C
- p9_sbe_attr_setup.H
- p9_sbe_check_master.C
- p9_sbe_check_master.H
- p9_sbe_check_master_stop15.C
- p9_sbe_check_master_stop15.H
- p9_sbe_chiplet_init.C
- p9_sbe_chiplet_init.H
- p9_sbe_chiplet_pll_initf.C
- p9_sbe_chiplet_pll_initf.H
- p9_sbe_chiplet_pll_setup.C
- p9_sbe_chiplet_pll_setup.H
- p9_sbe_chiplet_reset.C
- p9_sbe_chiplet_reset.H
- p9_sbe_clock_test2.C
- p9_sbe_clock_test2.H
- p9_sbe_common.C
- p9_sbe_common.H
- p9_sbe_enable_seeprom.C
- p9_sbe_enable_seeprom.H
- p9_sbe_fastarray_abist_catchup.C
- p9_sbe_fastarray_abist_catchup.H
- p9_sbe_fastarray_cleanup.C
- p9_sbe_fastarray_cleanup.H
- p9_sbe_fastarray_setup.C
- p9_sbe_fastarray_setup.H
- p9_sbe_gear_switcher.C
- p9_sbe_gear_switcher.H
- p9_sbe_gptr_time_initf.C
- p9_sbe_gptr_time_initf.H
- p9_sbe_io_initf.C
- p9_sbe_io_initf.H
- p9_sbe_lpc_init.C
- p9_sbe_lpc_init.H
- p9_sbe_nest_enable_ridi.C
- p9_sbe_nest_enable_ridi.H
- p9_sbe_nest_initf.C
- p9_sbe_nest_initf.H
- p9_sbe_nest_startclocks.C
- p9_sbe_nest_startclocks.H
- p9_sbe_npll_initf.C
- p9_sbe_npll_initf.H
- p9_sbe_npll_setup.C
- p9_sbe_npll_setup.H
- p9_sbe_repr_initf.C
- p9_sbe_repr_initf.H
- p9_sbe_select_ex.C
- p9_sbe_select_ex.H
- p9_sbe_sequence_drtm.C
- p9_sbe_sequence_drtm.H
- p9_sbe_setup_boot_freq.C
- p9_sbe_setup_boot_freq.H
- p9_sbe_setup_evid.C
- p9_sbe_setup_evid.H
- p9_sbe_startclock_chiplets.C
- p9_sbe_startclock_chiplets.H
- p9_sbe_tp_arrayinit.C
- p9_sbe_tp_arrayinit.H
- p9_sbe_tp_chiplet_init1.C
- p9_sbe_tp_chiplet_init1.H
- p9_sbe_tp_chiplet_init2.C
- p9_sbe_tp_chiplet_init2.H
- p9_sbe_tp_chiplet_init3.C
- p9_sbe_tp_chiplet_init3.H
- p9_sbe_tp_chiplet_reset.C
- p9_sbe_tp_chiplet_reset.H
- p9_sbe_tp_enable_ridi.C
- p9_sbe_tp_enable_ridi.H
- p9_sbe_tp_gptr_time_initf.C
- p9_sbe_tp_gptr_time_initf.H
- p9_sbe_tp_initf.C
- p9_sbe_tp_initf.H
- p9_sbe_tp_ld_image.C
- p9_sbe_tp_ld_image.H
- p9_sbe_tp_repr_initf.C
- p9_sbe_tp_repr_initf.H
- p9_sbe_tp_switch_gears.C
- p9_sbe_tp_switch_gears.H
- p9_sbe_tracearray.C
- p9_sbe_tracearray.H
- p9_setup_clock_term.H
- p9_stopclocks.C
- p9_stopclocks.H
- p9_tp_stopclocks.C
- p9_tp_stopclocks.H
- p9_tracearray_defs.H
- pm/
- p9_block_wakeup_intr.C
- p9_block_wakeup_intr.H
- p9_pm.H
- p9_pm_ocb_indir_access.C
- p9_pm_ocb_indir_access.H
- p9_pm_ocb_indir_setup_circular.C
- p9_pm_ocb_indir_setup_circular.H
- p9_pm_ocb_indir_setup_linear.C
- p9_pm_ocb_indir_setup_linear.H
- p9_pm_ocb_init.C
- p9_pm_ocb_init.H
- p9_pm_pfet_control.C
- p9_pm_pfet_control.H
- p9_pm_pfet_types.H
- p9_pm_utils.C
- p9_pm_utils.H
- p9_quad_power_off.C
- p9_quad_power_off.H
- p9_query_cache_access_state.C
- p9_query_cache_access_state.H
- p9_query_core_access_state.C
- p9_query_core_access_state.H
- p9_suspend_powman.C
- p9_suspend_powman.H
- cache/
- ppe/
- include/
- std/
- algorithm
- iterator
- new
- type_traits
- util
- impl
- iterator.h
- qsort.H
- traits
- has_lessthan.H
- has_minus.H
- has_plusequals.H
- impl
- has_comparison.H
- remove_const.H
- impl
- std/
- pk/
- kernel/
- Makefile
- pk.h
- pk_api.h
- pk_bh_core.c
- pk_core.c
- pk_debug_ptrs.c
- pk_debug_ptrs.h
- pk_init.c
- pk_kernel.h
- pk_macros.h
- pk_semaphore_core.c
- pk_semaphore_init.c
- pk_stack_init.c
- pk_thread.h
- pk_thread_core.c
- pk_thread_init.c
- pk_thread_util.c
- pk_timer_core.c
- pk_timer_init.c
- pkkernelfiles.mk
- ppe42/
- div32.S
- div64.S
- eabi.c
- endian.h
- Makefile
- math.c
- pk_panic_codes.h
- pk_port_types.h
- pkppe42files.mk
- ppe42.h
- ppe42_asm.h
- ppe42_boot.S
- ppe42_cache.h
- ppe42_context.h
- ppe42_core.c
- ppe42_exceptions.S
- ppe42_gcc.c
- ppe42_gcc.h
- ppe42_init.c
- ppe42_irq.h
- ppe42_irq_core.c
- ppe42_msr.h
- ppe42_scom.c
- ppe42_scom.h
- ppe42_spr.h
- ppe42_string.c
- ppe42_string.h
- ppe42_thread_init.S
- ppe42_timebase.S
- ppe42math.h
- std/
- Makefile
- pk_port.h
- pkstdfiles.mk
- std.h
- std_common.h
- std_init.c
- std_irq.h
- std_irq_config.h
- std_irq_init.c
- std_register_addresses.h
- std_timebase.h
- trace/
- Makefile
- pk_trace.h
- pk_trace_big.c
- pk_trace_binary.c
- pk_trace_core.c
- pktracefiles.mk
- kernel/
- include/
- xml/
- attribute_info/
- chip_ec_attributes.xml
- core_attributes.xml
- memory_mcs_attributes.xml
- nest_attributes.xml
- p9_cache_contained_attributes.xml
- p9_hcode_image_build_attributes.xml
- p9_sbe_attributes.xml
- p9_sbe_load_bootloader_attributes.xml
- pervasive_attributes.xml
- pervasive_sbe_only_attributes.xml
- pm_hwp_attributes.xml
- pm_plat_attributes.xml
- error_info/
- hwpErrors.mk
- p9_adu_errors.xml
- p9_block_wakeup_intr_errors.xml
- p9_common_poweronoff_errors.xml
- p9_fastarray_errors.xml
- p9_hcd_cache_dpll_setup_errors.xml
- p9_hcd_cache_initf_errors.xml
- p9_hcd_cache_scominit_errors.xml
- p9_hcd_cache_startclocks_errors.xml
- p9_hcd_cache_stopclocks_errors.xml
- p9_hcd_core_startclocks_errors.xml
- p9_hcd_core_stopclocks_errors.xml
- p9_hcd_l2_stopclocks_errors.xml
- p9_l2_flush_errors.xml
- p9_l3_flush_errors.xml
- p9_memory_mss_lib.xml
- p9_pba_errors.xml
- p9_perv_sbe_cmn_errors.xml
- p9_pm_ocb_indir_access_errors.xml
- p9_pm_ocb_init_errors.xml
- p9_pm_pfet_control_errors.xml
- p9_quad_power_off_errors.xml
- p9_ram_errors.xml
- p9_sbe_arrayinit_errors.xml
- p9_sbe_check_master_stop15_errors.xml
- p9_sbe_check_quiesce_errors.xml
- p9_sbe_chiplet_init_errors.xml
- p9_sbe_chiplet_pll_initf_errors.xml
- p9_sbe_common_errors.xml
- p9_sbe_fabricinit_errors.xml
- p9_sbe_gear_switcher_errors.xml
- p9_sbe_load_bootloader_errors.xml
- p9_sbe_lpc_init_errors.xml
- p9_sbe_mcs_setup_errors.xml
- p9_sbe_nest_startclocks_errors.xml
- p9_sbe_npll_initf_errors.xml
- p9_sbe_npll_setup_errors.xml
- p9_sbe_plat_errors.xml
- p9_sbe_pll_setup_errors.xml
- p9_sbe_ppe_utils.xml
- p9_sbe_ring_errors.xml
- p9_sbe_scominit_errors.xml
- p9_sbe_select_ex_errors.xml
- p9_sbe_startclock_chiplets_errors.xml
- p9_sbe_tp_arrayinit_errors.xml
- p9_sbe_tp_chiplet_init3_errors.xml
- p9_sbe_tp_switch_gears_errors.xml
- p9_sbe_tracearray_errors.xml
- p9_suspend_io_errors.xml
- p9_suspend_powman_errors.xml
- p9_thread_control_errors.xml
- attribute_info/
- hwp/
- security/
- p9_security_white_black_list.csv
- sw_simulation/
- chip.act
- pervasive.act
- powermgmt.act
- utils/
- imageProcs/
- p9_dd_container.c
- p9_dd_container.h
- p9_infrastruct_help.H
- p9_ring_id.h
- p9_ring_identification.H
- p9_ringId.C
- p9_ringId.H
- p9_scan_compression.H
- p9_tor.C
- p9_tor.H
- Makefile
- p9_putRingUtils.C
- p9_putRingUtils.H
- p9_putRingUtils.mk
- utils.mk
- imageProcs/
- xip/
- Makefile
- p9_xip_image.C
- p9_xip_image.h
- p9_xip_tool.C
- common/
- centaur/
- generic/
- memory/
- lib/
- utils/
- endian_utils.H
- mss_field.H
- mss_generic_check.H
- shared
- mss_generic_consts.H
- utils/
- lib/
- procedures/
- xml/
- error_info/
- generic_error.xml
- error_info/
- xml/
- memory/
- hwpf/
- fapi2/
- include/
- buffer.H
- buffer_parameters.H
- buffer_traits.H
- error_info.H
- error_info_defs.H
- error_scope.H
- fapi2.H
- fapi2_attribute_service.H
- fapi2_error_scope.H
- fapi2_hw_access.H
- fapi2_hwp_executor.H
- fapi2_i2c_access.H
- fapi2_target.H
- fapi2_vpd_access.H
- ffdc.H
- hw_access_def.H
- multicast_defs.H
- mvpd_access.H
- mvpd_access_defs.H
- plat/
- hw_access.H
- plat_error_scope.H
- plat_hw_access.H
- plat_target.H
- plat_trace.H
- plat_vpd_access.H
- target.H
- vpd_access.H
- return_code.H
- return_code_defs.H
- target_states.H
- target_types.H
- utils.H
- variable_buffer.H
- variable_buffer_utils.H
- vpd_access_defs.H
- tools/
- parseErrorInfo.pl
- xml/
- attribute_info/
- chip_attributes.xml
- system_attributes.xml
- unit_attributes.xml
- attribute_info/
- include/
- fapi2/
- tools/
- imageProcs/
- fapi_sbe_common.H
- p9_ipl_build.C
- p9_ipl_build.H
- imageProcs/
- chips/
- sbefw/
- app/
- common/
- appcommonfiles.mk
- Makefile
- sbecmdCntrlTimer.C
- sbecmdCntrlTimer.H
- sbecmdgeneric.C
- sbecmdgeneric.H
- sbecmdringaccess.C
- sbecmdringaccess.H
- sbecmdscomaccess.C
- sbecmdscomaccess.H
- power/
- apppowerfiles.mk
- chipop_table.C
- ipl_table.C
- istep.C
- istep.H
- Makefile
- sbearchregdump.C
- sbearchregdump.H
- sbecmdcntlinst.C
- sbecmdcntlinst.H
- sbecmdcntrldmt.C
- sbecmdcntrldmt.H
- sbecmdfastarray.C
- sbecmdfastarray.H
- sbecmdflushnvdimm.C
- sbecmdflushnvdimm.H
- sbecmdgeneric.C
- sbecmdiplcontrol.C
- sbecmdiplcontrol.H
- sbecmdmemaccess.C
- sbecmdmemaccess.H
- sbecmdmpipl.C
- sbecmdmpipl.H
- sbecmdregaccess.C
- sbecmdregaccess.H
- sbecmdsram.C
- sbecmdsram.H
- sbecmdtracearray.C
- sbecmdtracearray.H
- z/
- appzfiles.mk
- chipop_table.C
- ipl_table.C
- Makefile
- sbecmdcntrldmt.C
- sbecmdcntrldmt.H
- sbecmdiplcontrol.C
- sbecmdiplcontrol.H
- common/
- core/
- assert.h
- chipop_handler.C
- chipop_handler.H
- corefiles.mk
- ipl.C
- ipl.H
- Makefile
- pk_app_cfg.h
- plugins
- sbeUserDataParser.C
- pool.C
- pool.H
- sbe_host_intf.H
- sbe_sp_intf.H
- sbecmdprocessor.C
- sbecmdreceiver.C
- sbeConsole.C
- sbeConsole.H
- sbeerrorcodes.H
- sbeevents.H
- sbeexeintf.H
- sbefapiutil.C
- sbefapiutil.H
- sbeFFDC.C
- sbeFFDC.H
- sbeFFDCType.H
- sbefifo.H
- sbeFifoMsgUtils.C
- sbeFifoMsgUtils.H
- sbeglobals.C
- sbeglobals.H
- sbeHostMsg.C
- sbeHostMsg.H
- sbeHostUtils.C
- sbeHostUtils.H
- sbeirq.C
- sbeirq.H
- sbeirqregistersave.H
- sbemain.C
- sbeMemAccessInterface.C
- sbeMemAccessInterface.H
- sberegaccess.C
- sberegaccess.H
- sbes0handler.C
- sbes0handler.H
- sbescom.C
- sbescom.H
- sbeSecureMemRegionManager.C
- sbeSecureMemRegionManager.H
- sbeSecurity.C
- sbeSecurity.H
- sbeSpMsg.C
- sbeSpMsg.H
- sbestates.H
- sbeTimerSvc.C
- sbeTimerSvc.H
- sbetrace.H
- sbeutil.C
- sbeutil.H
- sbeXipUtils.H
- securityAlgo.C
- securityAlgo.H
- vector
- app/
- test/
- framework/
- autocitest
- build-script
- check-copyright
- copyright-check.sh
- create-sandbox
- etc
- patches
- patchlist.txt
- standalone.simics.patch
- workarounds.postsimsetup
- workarounds.presimsetup
- patches
- populate-sandbox
- sbetest-start.sh
- setup-env
- testcases/
- ffdc.xml
- test.xml
- testAbort.py
- testAduMem.xml
- testAduMem_124B.py
- testAduMem_ecc.py
- testAduMem_itag.py
- testAduMem_noEccNoItag.py
- testAduMem_withEccItag.py
- testAduMem_withEccWithItagReadWrite.py
- testArrayAccess.xml
- testAxone.simics
- testCntlInstruction.py
- testCntlInstruction.xml
- testContinueMpipl.py
- testContinueSbeBoot.py
- testEnterMpipl.py
- testExecutorCntrlTimer.py
- testExecutorCntrlTimer.xml
- testExecutorMemory.py
- testExecutorPSU.py
- testExecutorPutRing.py
- testExecutorPutRing.xml
- testExecutorStopTimer.py
- testFastAccess.xml
- testFastArray.py
- testFifoReset.py
- testFifoReset.xml
- testFlushNVDIMM.py
- testFlushNVDIMM.xml
- testGeneric.xml
- testGetCapabilities.py
- testGetMem.py
- testGetMem_expdata.py
- testGetRing.py
- testGetRing.xml
- testHostFFDC.py
- testIstep.xml
- testIstepAuto.py
- testIstepInvalid.py
- testIstepInvalidFenced.py
- testIstepSuccess.py
- testMatchStashPair.py
- testMemPBA.py
- testMemUtil.py
- testPSUGetCapabilities.py
- testPsuHostPassThrough.py
- testPSUReadSbeMem.py
- testPSUSetFFDCAddr.py
- testPSUSetFFDCAddr.xml
- testPSUSetStashPair.py
- testPSUSetStashPair.xml
- testPSUUserUtil.py
- testPSUUtil.py
- testPutGetMem.xml
- testPutGetRegFpr.py
- testPutGetRegGpr.py
- testPutGetRegSpr.py
- testPutGetScom.py
- testPutMem_fail.py
- testQuiesce.py
- testQuiesce.xml
- testRegAccess.xml
- testRegistry.py
- testRunTillSbeBooted.py
- testSbeDump.py
- testScomUtil.py
- testSecurity.py
- testSecurity.xml
- testSecurityListDump.py
- testSecurityListDump.xml
- testSram.py
- testSram.xml
- testStartInstruction.py
- testStopClocks.py
- testStopClocks.xml
- testStopInstruction.py
- testSuspendIO.py
- testSuspendIO.xml
- testSystemFabricMap.py
- testSystemFabricMap.xml
- testTraceArray.py
- testUnsecureMemRegions.py
- testUnsecureMemRegions.xml
- testUtil.py
- framework/
- tools/
- debug/
- sbe-debug.py
- simics/
- makefile
- sbe_startup.simics
- sbe_startupAxone.simics
- simics-debug-framework.py
- hooks/
- addCopyright
- gerrit-hostname
- post-commit
- pre-commit
- pre-commit-actions
- pre-commit-prologs
- setupgithooks.sh
- verify-commit
- image/
- Makefile
- sbe_default_tool.c
- iplbuild/
- Makefile
- models/
- n10_e9027_tp026_soa_sc_u285_01/
- base
- n10_e9030_tp029_soa_sc_u339_01/
- base
- n10_e9031_tp030_soa_sc_u008_01/
- base
- n10_e9031_tp030_soa_sc_u012_01/
- base
- n10_e9031_tp030_soa_sc_u022_01/
- base
- n10_e9027_tp026_soa_sc_u285_01/
- pibrepr_tool/
- gen_pibrepr_data.py
- insert_pibrepr.sh
- scripts/
- ppeCreateAttrGetSetMacros.pl
- ppeParseAttrGetSetMacros.pl
- ppeParseAttributeInfo.pl
- ppeParseProcSbeFixed.pl
- ppeSetFixed.pl
- trace/
- cmvc/
- makefile
- jhash.h
- Makefile
- ppe2fsp.c
- ppe2fsp.h
- ppe2fsp_cmd.c
- ppetracepp.C
- trac_interface.h
- tracehash.pl
- cmvc/
- utils/
- cmvcRelease.py
- CommitSbeImageToCMVC.py
- conv_rel_branch.pl
- gitRelease.pl
- modules/
- gitUtil.pm
- README
- sandbox-create
- sbe-size/
- absolute.gnuplot
- collect-section-sizes
- compare-section-breakdown
- compare-section-sizes
- deltas.gnuplot
- README
- section-breakdown.py
- section-deltas.py
- section-sizes.py
- view-section-sizes
- sbeCmvcConstants.py
- sbeCmvcUtility.py
- sbeGitTool.pl
- sbePatchUtility.py
- sbePrime.py
- debug/
- boot/
Endnotes
This build tree was built with Public Domain POSIX make. Thanks to Ron Yorston for his help and his Public Domain POSIX make (pdpmake) utility.