Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
213 commits
Select commit Hold shift + click to select a range
f89a61c
security/tpm: improve tlcl_extend() signature
SergiiDmytruk Oct 22, 2022
4077a8d
security/tpm: make log format configurable via Kconfig
SergiiDmytruk Oct 22, 2022
6aefa39
treewide: stop calling custom TPM log "TCPA"
SergiiDmytruk Nov 9, 2022
817267c
security/tpm: make tspi/crtm.c agnostic to log format
SergiiDmytruk Nov 10, 2022
a1807c8
security/tpm: add TPM log format as per 1.2 spec
SergiiDmytruk Oct 22, 2022
b8f188c
security/tpm: add TPM log format as per 2.0 spec
SergiiDmytruk Oct 22, 2022
3331413
drivers/ipmi: prepare for adding more interfaces
SergiiDmytruk Oct 21, 2021
12e24bc
drivers/ipmi: add BT interface
SergiiDmytruk Oct 21, 2021
d11664f
payloads/external/skiboot/Makefile: fix output on `make clean`
SergiiDmytruk May 14, 2022
6ef621a
src/cpu/power9: move part of scom.h to scom.c
SergiiDmytruk Jan 17, 2022
c104b8b
device/dram/ddr4.c: fill missing ECC info from SPD
krystian-hebel Feb 23, 2021
74530e0
device/dram: add DDR4 MRS commands
krystian-hebel May 21, 2021
56331ec
device/dram: add RCD I2C access functions
krystian-hebel Mar 25, 2021
aca7934
arch/ppc64/rom_media.c: move to mainboard/emulation/qemu-power*
krystian-hebel Oct 9, 2020
5eac15e
soc/ibm/power9/*: add file structure for SOC
Dec 14, 2020
25eeba4
mb/raptor-cs/talos-2: add basic mainboard structure
miczyg1 Sep 15, 2020
40b0422
Makefile.inc: compile ECC tools and inject ECC to final image
miczyg1 Sep 24, 2020
e7f5f0b
3rdparty/sb-signing-utils: add SecureBoot utility for OpenPOWER
miczyg1 Sep 24, 2020
0cad01b
Makefile.inc: add signing procedure
miczyg1 Sep 24, 2020
6da7034
ppc64: Kconfig switch for bootblock in SEEPROM, zero HRMOR
krystian-hebel Feb 16, 2021
4af3227
soc/power9/rom_media.c: find CBFS in PNOR
krystian-hebel Oct 9, 2020
4738686
configs/config.raptor-cs-talos-2: add config for op-build
miczyg1 Oct 12, 2020
204bec7
soc/power9/rom_media.c: add RO region device for MEMD partition
SergiiDmytruk Apr 11, 2021
e2e4a43
soc/power9/: parse VPD data for memory attributes in romstage
SergiiDmytruk Apr 11, 2021
738302a
soc/power9/: add I2C and SPD functions
krystian-hebel Feb 22, 2021
7314025
soc/power9: add header file with SCOM addresses used in RAM init
krystian-hebel May 14, 2021
f4d1346
soc/power9/: read and calculate required data from SPD
krystian-hebel Feb 23, 2021
e4a1b31
soc/power9/ccs.c: implementation
krystian-hebel May 21, 2021
a37bca1
soc/power9/: implement istep 13.2
krystian-hebel Feb 23, 2021
09684c8
soc/power9/: implement istep 13.3
krystian-hebel Feb 24, 2021
4e5198a
soc/power9/: implement istep 13.4
krystian-hebel Feb 24, 2021
9458f79
soc/power9/: implement istep 13.6
krystian-hebel Feb 25, 2021
98e514e
soc/power9/istep_13_8.c: implementation
krystian-hebel Mar 4, 2021
633f1cb
soc/power9/istep_13_9.c: istep implementation
krystian-hebel Mar 17, 2021
cf87ee2
soc/power9/istep_13_10.c: implement DRAM initialization
krystian-hebel Mar 25, 2021
5e8748e
soc/power9/istep_13_11.c: implementation
krystian-hebel Mar 29, 2021
580dcd7
soc/power9/istep_13_13.c: implementation
krystian-hebel Apr 16, 2021
d9abcc4
soc/power9/istep_14_1.c: implementation
krystian-hebel Apr 26, 2021
c34b08c
soc/power9/istep_14_1.c: add option to skip initial ECC scrubbing
krystian-hebel May 11, 2021
7f447f5
soc/power9/istep_14_5.c: implementation
krystian-hebel May 5, 2021
4de777b
soc/power9/istep_14_2.c: add istep code implementation
Apr 26, 2021
8da0ad5
mb/raptor-cs/talos-2: add timestamps and CBMEM initialization
krystian-hebel Apr 26, 2021
0c77f1b
soc/power9/timer.c: implement udelay() using Decrementer Exception
krystian-hebel May 25, 2021
5d19b17
soc/power9/: fill memory table with real values
krystian-hebel Jun 8, 2021
1d451e9
ibm/power9/: implement istep 18.11
IgorBagnucki Jun 24, 2021
91b81e9
soc/power9/: implement istep 18.12
IgorBagnucki Jun 24, 2021
29c1c19
soc/power9/mcbist.c: move MCBIST from 14.1 to separate file
krystian-hebel Sep 8, 2021
74ba232
include/cpu/power/scom.h: introduce DEBUG_SCOM config option
krystian-hebel Sep 8, 2021
cb3f530
include/cpu/power: get DD version from SCOM instead of PVR
krystian-hebel Jun 16, 2021
57bc231
soc/power9/homer.c: begin filling HOMER - QPMR
krystian-hebel Jun 17, 2021
c0023d6
soc/power9/homer.c: build self restore image
krystian-hebel Jun 18, 2021
b7c7d2e
soc/power9/homer.c: build CME image and PPMR region
krystian-hebel Jun 21, 2021
8131a2c
soc/power9/homer.c: implement isteps 15.2-15.4
krystian-hebel Jul 1, 2021
6796783
soc/power9/homer.c: add most of step 16.1
krystian-hebel Jul 6, 2021
9aa06e0
soc/power9/homer.c: add operation type to copy_section()
krystian-hebel Jul 22, 2021
24eb277
soc/power9/vpd.c: export vpd_find_kwd()
SergiiDmytruk Aug 16, 2021
01ad0be
soc/power9/rom_media.c: add MVPD partition
SergiiDmytruk Aug 16, 2021
fa56700
vendorcode/ibm/: add RS4 data format and (de)compression code
SergiiDmytruk May 22, 2022
494609f
soc/power9/mvpd.c: implement mvpd_extract_ring()
SergiiDmytruk Aug 16, 2021
6c44e8f
soc/power9/tor.c: implement TOR operations
SergiiDmytruk Aug 16, 2021
f2011d3
soc/power9/mvpd.c: add mvpd_extract_keyword()
SergiiDmytruk Aug 4, 2021
bb55867
soc/power9/: implement istep 8.6 as powerbus.c
SergiiDmytruk Aug 4, 2021
dd2ee39
soc/power9/istep_13_8.c: use powerbus.c unit
SergiiDmytruk Aug 4, 2021
704428d
soc/power9/mvpd.c: add mvpd_get_voltage_data()
SergiiDmytruk Aug 12, 2021
294caf6
soc/power9/homer.c: implement get_ppe_scan_rings()
SergiiDmytruk Aug 16, 2021
60a580e
soc/power9/homer.c: implement layout_cmn_rings_for_cme()
SergiiDmytruk Aug 18, 2021
4b1a465
soc/power9/homer.c: first pass of layout_inst_rings_for_cme()
SergiiDmytruk Aug 18, 2021
afca72a
soc/power9/homer.c: finish layout_inst_rings_for_cme()
SergiiDmytruk Aug 21, 2021
bb723b2
soc/power9/homer.c: implement layout_cmn_rings_for_sgpe()
SergiiDmytruk Aug 21, 2021
03f4575
soc/power9/homer.c: implement layout_inst_rings_for_sgpe()
SergiiDmytruk Aug 22, 2021
d7dbee7
vendorcode/ibm/pstates/: add pstates data structures
krystian-hebel Aug 12, 2021
d4a0a9b
soc/power9/pstates.c: start filling PPMR in HOMER
krystian-hebel Aug 12, 2021
9ec310a
soc/power9/pstates.c: add code for Local Pstate Parameters Block
krystian-hebel Aug 16, 2021
759f369
soc/power9/homer.c: make MAX_* macros consistent
SergiiDmytruk May 12, 2022
65cb630
soc/power9/homer.c: update HOMER headers
krystian-hebel Aug 17, 2021
e897b93
soc/power9/rom_media.c: add WOFDATA partition
SergiiDmytruk Aug 20, 2021
556e97f
soc/power9/pstates.c: populate PPMR WOF tables from WOFDATA
SergiiDmytruk May 16, 2022
2a2f56b
soc/power9/homer.c: implement populate_ncu_rng_bar_scom_reg()
SergiiDmytruk May 16, 2022
8d6c3d5
soc/power9/homer.c: implement 3 populate_*_scom_reg()
SergiiDmytruk Sep 8, 2021
22d0d8e
soc/power9/homer.c: fill self-restore register values
krystian-hebel Sep 8, 2021
9351b51
soc/power9/xive.c: implement interrupt controller initialization
krystian-hebel Sep 2, 2021
7c929eb
soc/power9/chip.c: clear IPMI attention bits using IPMI BT driver
krystian-hebel Sep 7, 2021
78a94fc
soc/power9/homer.c: additionaly enable HDEE in self-restore
krystian-hebel Sep 15, 2021
d6bda37
soc/power9/chip.c: activate slave cores right before starting payload
SergiiDmytruk Sep 25, 2021
f4d3c25
soc/power9/mvpd.c: construct MVPD partition in memory on startup
SergiiDmytruk May 16, 2022
123fc7a
soc/power9/occ.c: start adding code for managing OCC
IgorBagnucki Aug 26, 2021
1e281e7
soc/power9/homer.c: improve PBA reset code
SergiiDmytruk May 17, 2022
13a21a9
soc/power9/occ.c: implement OCC activation
SergiiDmytruk May 17, 2022
3ad36dd
soc/power9/homer.c: load OCC data into HOMER and start OCC
SergiiDmytruk May 17, 2022
ab74488
soc/power9/istep_10_13.c: first part of RNG initialization (BIST)
krystian-hebel Sep 7, 2021
812ad19
soc/power9/chip.c: second phase of RNG initialization
krystian-hebel Sep 14, 2021
0c83072
soc/power9: add DT to CBFS, load and pass it to payload
Jun 8, 2021
328143f
soc/power9/chip.c: generate info about available cores for device tree
krystian-hebel Sep 14, 2021
1cef925
soc/power9/: implement istep 10.10
SergiiDmytruk Oct 21, 2021
ba6a0af
soc/power9/: implement istep 10.12
SergiiDmytruk May 16, 2022
aaa0375
soc/power9/istep_14_3.c: add istep code
Apr 29, 2021
e6dfc68
soc/power9/chip.c: unhardcode nominal core frequency from DT
krystian-hebel Oct 27, 2021
a4a95f5
soc/power9/chip.c: add code for filling unique phandles for all nodes
krystian-hebel Oct 22, 2021
f22046e
soc/power9/romstage.c: setup BMC's watchdog to 2m
SergiiDmytruk Nov 2, 2021
3702872
cpu/power/spr.h: change SPR numbers definitions to decimal
krystian-hebel Nov 2, 2021
c10acc8
arch/ppc64: more advanced PPC_PLACE macro
SergiiDmytruk Oct 23, 2021
a1bae6c
soc/power9/: PPC_SHIFT w/o constants => PPC_PLACE
SergiiDmytruk Oct 23, 2021
a774e00
soc/power9/: PPC_SHIFT with constants => PPC_PLACE
SergiiDmytruk Oct 23, 2021
214a401
soc/power9/homer.c: do not enable external interrupts
krystian-hebel Nov 9, 2021
480a18c
soc/power9/: implement FSI access
SergiiDmytruk Dec 12, 2021
f01b25c
soc/power9/: support FSI I2C
SergiiDmytruk Dec 22, 2021
71bcf11
soc/power9/mvpd.c: support getting MVPD of second CPU
SergiiDmytruk Dec 13, 2021
2ca4a41
soc/power9: require chip number on MVPD accesses
SergiiDmytruk Dec 13, 2021
7961eed
soc/power9/mvpd.c: cache MVPD in memory between stages
krystian-hebel Feb 2, 2022
7557379
soc/power9/istep_8_1.c: implement istep 8.1
SergiiDmytruk May 19, 2022
2b54520
soc/power9/istep_8_2.c: implement istep 8.2
SergiiDmytruk May 19, 2022
b5f1b05
soc/power9/istep_8_3.c: implement istep 8.3
SergiiDmytruk May 19, 2022
b148ec8
soc/power9/istep_8_4.c: implement istep 8.4
SergiiDmytruk May 19, 2022
779b3b1
soc/power9/sbeio.c: implement SBE SCOM operations
SergiiDmytruk Jan 2, 2022
092454e
soc/power9/istep_8_9.c: scominits of XBus chiplet
SergiiDmytruk Jan 2, 2022
1e4b662
soc/power9/istep_8_10.c: scominits for XBus
SergiiDmytruk Jan 2, 2022
eb5e856
soc/power9/istep_8_11.c: enable RI/DI for XBus
SergiiDmytruk Jan 2, 2022
847c578
soc/power9/xbus.c: extract XBus helpers to a unit
SergiiDmytruk Jan 8, 2022
5f35121
soc/power9/istep_9_2.c: XBus calibration
SergiiDmytruk Jan 8, 2022
7f79db5
soc/power9/istep_9_4.c: XBus link training
SergiiDmytruk Jan 8, 2022
4c2f2f8
soc/power9/istep_9_6.c: SMP link layer
SergiiDmytruk Jan 8, 2022
f500f6c
soc/power9/istep_9_7.c: XBus link training validation
SergiiDmytruk Jan 8, 2022
00f8b62
src/cpu/power9: SCOM access to other CPUs
SergiiDmytruk Jan 17, 2022
b4d0bdc
soc/power9/fsi.c: generalize reset_pib2opb()
SergiiDmytruk Jan 17, 2022
a00348b
soc/power9/istep_10_1.c: configure SMP and enable XSCOM
SergiiDmytruk Jan 17, 2022
88ec88a
cpu/power9/scom.c: handle form 1 of indirect SCOM
SergiiDmytruk Jul 2, 2022
1b8e133
soc/power9/istep_10_10.c: update for second CPU
SergiiDmytruk Jan 18, 2022
ef89417
soc/power9/istep_10_12.c: update for second CPU
SergiiDmytruk Jan 18, 2022
801e08c
soc/power9/istep_14_3.c: update for second CPU
SergiiDmytruk Jan 18, 2022
8039285
soc/power9/: extract chip unit limits to proc.h
SergiiDmytruk Feb 8, 2022
cd396bb
soc/power9/: expose CONFIG_MAX_CPUS in menuconfig and use in code
SergiiDmytruk Jul 2, 2022
41bab42
soc/power9/istep_13_6.c: get MCS PG data from MVPD
SergiiDmytruk Jan 22, 2022
9362d05
soc/power9/istep_13_2.c: update for second CPU
SergiiDmytruk Jan 22, 2022
6439cd7
soc/power9/istep_13_3.c: update for second CPU
SergiiDmytruk Jan 22, 2022
8a04722
soc/power9/istep_13_4.c: update for second CPU
SergiiDmytruk Jan 22, 2022
818da41
soc/power9/istep_13_6.c: update for second CPU
SergiiDmytruk Jan 22, 2022
d560c6d
soc/power9/istep_13_8.c: update for second CPU
SergiiDmytruk Jan 22, 2022
2f715ee
soc/power9/istep_13_9.c: update for second CPU
SergiiDmytruk Jan 22, 2022
3b0b68a
soc/power9/istep_13_10.c: update for second CPU
SergiiDmytruk Jan 22, 2022
148b020
soc/power9/istep_13_11.c: update for second CPU
SergiiDmytruk Jan 22, 2022
65c0373
soc/power9/istep_13_13.c: update for second CPU
SergiiDmytruk Jan 22, 2022
46b50d9
soc/power9/istep_14_1.c: update for second CPU
SergiiDmytruk Jan 22, 2022
292b71b
soc/power9/mcbist.c: update for second CPU
SergiiDmytruk Feb 5, 2022
4dec923
soc/power9/istep_14_2.c: update for second CPU
SergiiDmytruk Jan 22, 2022
4be7615
soc/power9/istep_14_5.c: update for second CPU
SergiiDmytruk Jan 22, 2022
5a66367
soc/power9/i2c.c: add host I2C for second CPU
SergiiDmytruk Jan 23, 2022
70c8d99
soc/power9/i2c.c: introduce get_spd_i2c()
SergiiDmytruk Jan 23, 2022
5328e65
soc/power9/: collect DIMM data for two CPUs
SergiiDmytruk Jan 23, 2022
cb11891
soc/power9: extract PROC_BASE_ADDR() macro
SergiiDmytruk Feb 9, 2022
85788d9
soc/power9/chip.c: account for memory on the second CPU
SergiiDmytruk Feb 9, 2022
8e821b8
soc/power9/homer.c: make build_homer_image() more manageable
SergiiDmytruk Jan 19, 2022
f557b49
soc/power9/homer.c: set fabric IDs in HOMER
SergiiDmytruk Jan 20, 2022
6a6b6a3
soc/power9/homer.c: simplify get_available_cores()
SergiiDmytruk Feb 12, 2022
0b02672
soc/power9/homer.c: start building HOMER for 2 CPUs
SergiiDmytruk Jan 20, 2022
61b9ac8
soc/power9/: disable WOF on table search failure
SergiiDmytruk Jul 9, 2022
b1cced2
soc/power9/: fetch chip-specific TOR rings
SergiiDmytruk Jan 20, 2022
d49bf0e
soc/power9/pstates.c: build chip-specific parameter blocks
SergiiDmytruk Jan 20, 2022
4bf800d
soc/power9: make powerbus data chip-specific
SergiiDmytruk Jan 20, 2022
0c77d1e
soc/power9/homer.c: use group ID in two places
SergiiDmytruk Jan 20, 2022
1d8fe76
soc/power9: make voltage data CPU-specific
SergiiDmytruk Jan 20, 2022
48da74d
soc/power9/chip.c: allocate only necessary amount of HOMERs
SergiiDmytruk Mar 7, 2022
f42ffab
soc/power9: update SCOM accesses in OCC code
SergiiDmytruk Nov 21, 2021
7ab0c20
soc/power9/: prepare sending data to slave OCCs
SergiiDmytruk Nov 21, 2021
815ccaf
soc/power9/homer.c: block CME startup on SGPE init for slave CPUs
SergiiDmytruk Feb 13, 2022
46fbd76
soc/power9/homer.c: execute 15.* isteps for each CPU
SergiiDmytruk Feb 13, 2022
daedca2
soc/power9/: re-organize istep 21.1
SergiiDmytruk Feb 13, 2022
1847559
src/power9/: read OCC partition only once
SergiiDmytruk Mar 9, 2022
83347bc
soc/power9/istep_18_11.c: update for second CPU
SergiiDmytruk Feb 15, 2022
234f3b1
soc/power9/istep_18_12.c: update for second CPU
SergiiDmytruk Feb 15, 2022
b37646f
soc/power9/istep_10_13.c: update for second CPU
SergiiDmytruk Feb 19, 2022
817e069
src/ibm/power9/chip.c: init RNG for second CPU
SergiiDmytruk Feb 19, 2022
0dac7db
soc/power9/istep_10_6.c: scom inits to all chiplets (sans Quad)
SergiiDmytruk Feb 18, 2022
60b1cf0
soc/power9/chip.c: update DT for two CPUs
SergiiDmytruk Feb 20, 2022
4bae159
soc/power9/chip.c: activate slave cores on two CPUs
SergiiDmytruk Feb 20, 2022
b35e904
soc/power9/chip.c: validate PCIe nodes of DT
SergiiDmytruk Mar 21, 2022
10d74b1
soc/power9/: pass mem_data from romstage to ramstage
SergiiDmytruk Mar 23, 2022
b7ab59a
soc/power9/chip.c: generate DIMM sensor nodes for DT
SergiiDmytruk Mar 23, 2022
8a03a5f
mb/raptor-cs/talos-2/2-cpus.dts: add
SergiiDmytruk Feb 22, 2022
1189899
mb/raptor-cs/talos-2: allow using skiboot payload
Jun 8, 2021
a76eecd
soc/power9/: fully prepare and pass FDT to payload
SergiiDmytruk Feb 22, 2022
09263d1
soc/power9/mcbist.c: make globals chip-specific
SergiiDmytruk Mar 4, 2022
d0e2ab9
soc/power9/istep_14_1.c: run memdiag in parallel
SergiiDmytruk Mar 4, 2022
5014bca
soc/power9/romstage.c: prebuild MVPDs explicitly
SergiiDmytruk Mar 4, 2022
2a3cd67
soc/power9/: hide different SCOM implementations behind common API
krystian-hebel Feb 4, 2022
f0b4fae
soc/power9: change local SCOM accesses to remote ones, remove local a…
krystian-hebel Apr 14, 2022
22e6c09
soc/power9: drop "r" from all rscom-functions
SergiiDmytruk Apr 15, 2022
3eb8b3b
soc/power9/: remove XBus-specific SCOM functions
SergiiDmytruk Apr 16, 2022
870b2a5
soc/power9/: move istep logs to report_istep()
Stojak139808 Jul 14, 2022
26d819d
soc/power9/romstage.c: change 0xF000F log level from DEBUG to WARNING
Stojak139808 Jul 14, 2022
9dabdf4
soc/power9/: change log levels in istep files
Stojak139808 Jul 14, 2022
eeb1e84
soc/power9/: change logs in dump_cal_errors()
Stojak139808 Jul 15, 2022
608afe0
lib: make fields in CBMEM always little endian
krystian-hebel Mar 22, 2023
8a71dd5
security/tpm: allow for TPM2 log format for TPM1 devices
krystian-hebel Mar 29, 2023
274fc3d
drivers/i2c/tpm/tpm.c: fix endianness of DID_VID constants
SergiiDmytruk Jun 4, 2022
7445e8f
security/tpm/tspi/tspi.c: allow larger stack for tpm_measure_region()
SergiiDmytruk Jun 5, 2022
675541c
soc/power9/: optional support for Infineon I2C TPM1 chips
SergiiDmytruk Jun 5, 2022
85dc271
soc/power9/: change log levels in istep files
Stojak139808 Jul 14, 2022
9928949
commonlib/helpers.h: use unsigned literals in definitions
krystian-hebel Nov 29, 2022
80e6155
soc/power9: prepare loop for secondary threads
krystian-hebel Dec 8, 2022
e937676
soc/power9: enable auto special wakeup for functional cores
krystian-hebel Dec 8, 2022
be5a5c8
util/cbmem: add option to read CBMEM from file instead of RAM
krystian-hebel Mar 28, 2023
eb5f9c8
util/cbmem: search for CBMEM in sysfs by default
krystian-hebel Jul 3, 2023
dcc5e1a
soc/power9/chip.c: exclude reserved ranges from system RAM
SergiiDmytruk Jun 22, 2022
a73dac7
payloads/external/skiboot/Kconfig: change repo and revision
krystian-hebel Mar 30, 2023
d3427df
util/cbmem: add parsing of TPM logs per standard
SergiiDmytruk Oct 22, 2022
68d4bd2
.gitmodules: use absolute URLs
krystian-hebel Mar 29, 2023
4845c31
soc/power9/occ.c: make sensor IDs chip-specific
SergiiDmytruk May 20, 2023
cd43a42
soc/power9/occ.c: replace a TODO about activation
SergiiDmytruk May 20, 2023
c94aea8
mb/raptor-cs/talos-2/1-cpu.dts: set 2s I2C timeout for TPM port
SergiiDmytruk Jun 1, 2023
68307ed
payloads/external/skiboot/Kconfig: update revision
SergiiDmytruk May 20, 2023
bf4e30f
payloads/external/skiboot/Makefile: build only skiboot.elf
SergiiDmytruk Jun 6, 2023
cfc885d
src/Kconfig: enable timestamps by default on PPC64
krystian-hebel Jul 3, 2023
c8aed44
lib/timestamp: explicitly write multibyte fields as little endian
krystian-hebel Jul 11, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .checkpatch.conf
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,4 @@
--exclude src/vendorcode/cavium
--exclude src/vendorcode/intel
--exclude src/vendorcode/mediatek
--exclude src/vendorcode/ibm
37 changes: 20 additions & 17 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,67 +1,70 @@
[submodule "3rdparty/blobs"]
path = 3rdparty/blobs
url = ../blobs.git
url = https://review.coreboot.org/blobs.git
update = none
ignore = dirty
[submodule "util/nvidia-cbootimage"]
path = util/nvidia/cbootimage
url = ../nvidia-cbootimage.git
url = https://review.coreboot.org/nvidia-cbootimage.git
[submodule "vboot"]
path = 3rdparty/vboot
url = ../vboot.git
url = https://review.coreboot.org/vboot.git
branch = main
[submodule "arm-trusted-firmware"]
path = 3rdparty/arm-trusted-firmware
url = ../arm-trusted-firmware.git
url = https://review.coreboot.org/arm-trusted-firmware.git
[submodule "3rdparty/chromeec"]
path = 3rdparty/chromeec
url = ../chrome-ec.git
url = https://review.coreboot.org/chrome-ec.git
[submodule "libhwbase"]
path = 3rdparty/libhwbase
url = ../libhwbase.git
url = https://review.coreboot.org/libhwbase.git
[submodule "libgfxinit"]
path = 3rdparty/libgfxinit
url = ../libgfxinit.git
url = https://review.coreboot.org/libgfxinit.git
[submodule "3rdparty/fsp"]
path = 3rdparty/fsp
url = ../fsp.git
url = https://review.coreboot.org/fsp.git
update = none
ignore = dirty
[submodule "opensbi"]
path = 3rdparty/opensbi
url = ../opensbi.git
url = https://review.coreboot.org/opensbi.git
[submodule "intel-microcode"]
path = 3rdparty/intel-microcode
url = ../intel-microcode.git
url = https://review.coreboot.org/intel-microcode.git
update = none
ignore = dirty
branch = main
[submodule "3rdparty/ffs"]
path = 3rdparty/ffs
url = ../ffs.git
url = https://review.coreboot.org/ffs.git
[submodule "3rdparty/amd_blobs"]
path = 3rdparty/amd_blobs
url = ../amd_blobs
url = https://review.coreboot.org/amd_blobs
update = none
ignore = dirty
[submodule "3rdparty/cmocka"]
path = 3rdparty/cmocka
url = ../cmocka.git
url = https://review.coreboot.org/cmocka.git
update = none
branch = stable-1.1
[submodule "3rdparty/qc_blobs"]
path = 3rdparty/qc_blobs
url = ../qc_blobs.git
url = https://review.coreboot.org/qc_blobs.git
update = none
ignore = dirty
[submodule "3rdparty/intel-sec-tools"]
path = 3rdparty/intel-sec-tools
url = ../9esec-security-tooling.git
url = https://review.coreboot.org/9esec-security-tooling.git
[submodule "3rdparty/stm"]
path = 3rdparty/stm
url = ../STM
url = https://review.coreboot.org/STM
branch = stmpe
[submodule "util/goswid"]
path = util/goswid
url = ../goswid
url = https://review.coreboot.org/goswid
branch = trunk
[submodule "3rdparty/sb-signing-utils"]
path = 3rdparty/sb-signing-utils
url = https://github.com/open-power/sb-signing-utils.git
1 change: 1 addition & 0 deletions 3rdparty/sb-signing-utils
Submodule sb-signing-utils added at 591c8f
34 changes: 34 additions & 0 deletions Documentation/drivers/ipmi_bt.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# IPMI BT driver

The driver can be found in `src/drivers/ipmi/` (same as KCS). It works with BMC
that provide a BT I/O interface as specified in the [IPMI] standard.

The driver detects the IPMI version and reserves the I/O space in coreboot's
resource allocator.

## For developers

To use the driver, select the `IPMI_BT` Kconfig and add the following PNP
device (in example for the BT at 0xe4):

```
chip drivers/ipmi
device pnp e4.0 on end # IPMI BT
end
```

**Note:** The I/O base address needs to be aligned to 4.

The following registers can be set:

* `wait_for_bmc`
* Boolean
* Wait for BMC to boot. This can be used if the BMC takes a long time to boot
after PoR.
* `bmc_boot_timeout`
* Integer
* The timeout in seconds to wait for the IPMI service to be loaded.
Will be used if wait_for_bmc is true.


[IPMI]: https://www.intel.com/content/dam/www/public/us/en/documents/product-briefs/ipmi-second-gen-interface-spec-v2-rev1-1.pdf
9 changes: 9 additions & 0 deletions Documentation/drivers/ipmi_kcs.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,15 @@ The following registers can be set:
* `gpe_interrupt`
* Integer
* The bit in GPE (SCI) used to notify about a change on the KCS.
* `wait_for_bmc`
* Boolean
* Wait for BMC to boot. This can be used if the BMC takes a long time to boot
after PoR:
- AST2400 on Supermicro X11SSH: 34 s
* `bmc_boot_timeout`
* Integer
* The timeout in seconds to wait for the IPMI service to be loaded.
Will be used if wait_for_bmc is true.


[IPMI]: https://www.intel.com/content/dam/www/public/us/en/documents/product-briefs/ipmi-second-gen-interface-spec-v2-rev1-1.pdf
44 changes: 41 additions & 3 deletions Makefile.inc
Original file line number Diff line number Diff line change
Expand Up @@ -519,7 +519,7 @@ endif

additional-dirs += $(objutil)/cbfstool $(objutil)/ifdtool \
$(objutil)/options $(objutil)/amdfwtool \
$(objutil)/cbootimage
$(objutil)/cbootimage $(objutil)/ffs

export $(COREBOOT_EXPORTS)

Expand Down Expand Up @@ -561,6 +561,8 @@ IFITTOOL:=$(objutil)/cbfstool/ifittool
AMDCOMPRESS:=$(objutil)/cbfstool/amdcompress
CSE_FPT:=$(objutil)/cbfstool/cse_fpt
CSE_SERGER:=$(objutil)/cbfstool/cse_serger
ECCTOOL:=$(objutil)/ffs/ecc/ecc
SBSIGNTOOLS:=$(objutil)/sb-signing-utils/create-container

$(obj)/cbfstool: $(CBFSTOOL)
cp $< $@
Expand Down Expand Up @@ -601,6 +603,18 @@ IFDTOOL:=$(objutil)/ifdtool/ifdtool

AMDFWTOOL:=$(objutil)/amdfwtool/amdfwtool

$(ECCTOOL):
@printf " Compile ECCTOOL\n"
cp -r $(top)/3rdparty/ffs $(objutil)
cd $(objutil)/ffs && autoreconf -i && ./configure
+$(MAKE) -C $(objutil)/ffs

$(SBSIGNTOOLS):
@printf " Compile SB SIGNING UTILS\n"
cp -r $(top)/3rdparty/sb-signing-utils $(objutil)
cd $(objutil)/sb-signing-utils && autoreconf -i -Wno-unsupported && ./configure
+$(MAKE) -C $(objutil)/sb-signing-utils

APCB_EDIT_TOOL:=$(top)/util/apcb/apcb_edit.py

APCB_V3_EDIT_TOOL:=$(top)/util/apcb/apcb_v3_edit.py
Expand Down Expand Up @@ -701,7 +715,7 @@ install-git-commit-clangfmt:
include util/crossgcc/Makefile.inc

.PHONY: tools
tools: $(objutil)/kconfig/conf $(objutil)/kconfig/toada $(CBFSTOOL) $(objutil)/cbfstool/cbfs-compression-tool $(FMAPTOOL) $(RMODTOOL) $(IFWITOOL) $(objutil)/nvramtool/nvramtool $(objutil)/sconfig/sconfig $(IFDTOOL) $(CBOOTIMAGE) $(AMDFWTOOL) $(AMDCOMPRESS) $(FUTILITY) $(BINCFG) $(IFITTOOL) $(objutil)/supermicro/smcbiosinfo $(CSE_FPT) $(CSE_SERGER)
tools: $(objutil)/kconfig/conf $(objutil)/kconfig/toada $(CBFSTOOL) $(objutil)/cbfstool/cbfs-compression-tool $(FMAPTOOL) $(RMODTOOL) $(IFWITOOL) $(objutil)/nvramtool/nvramtool $(objutil)/sconfig/sconfig $(IFDTOOL) $(CBOOTIMAGE) $(AMDFWTOOL) $(AMDCOMPRESS) $(FUTILITY) $(BINCFG) $(IFITTOOL) $(objutil)/supermicro/smcbiosinfo $(CSE_FPT) $(CSE_SERGER) $(ECCTOOL) $(SBSIGNTOOLS)

###########################################################################
# Common recipes for all stages
Expand Down Expand Up @@ -1146,7 +1160,9 @@ add_intermediate = \
$(1): $(obj)/coreboot.pre $(2) | $(INTERMEDIATE) \
$(eval INTERMEDIATE+=$(1)) $(eval PHONY+=$(1))

$(obj)/coreboot.rom: $(obj)/coreboot.pre $(CBFSTOOL) $(IFITTOOL) $$(INTERMEDIATE)
KEYLOC?=/tmp/keys

$(obj)/coreboot.rom: $(obj)/coreboot.pre $(CBFSTOOL) $(IFITTOOL) $(ECCTOOL) $(SBSIGNTOOLS) $$(INTERMEDIATE)
@printf " CBFS $(subst $(obj)/,,$(@))\n"
# The full ROM may be larger than the CBFS part, so create an empty
# file (filled with \377 = 0xff) and copy the CBFS image over it.
Expand All @@ -1173,6 +1189,28 @@ ifeq ($(CONFIG_CBFS_VERIFICATION),y)
exit 1 ;\
fi
endif # CONFIG_CBFS_VERIFICATION
ifeq ($(CONFIG_ARCH_PPC64),y)
cp -r $(top)/3rdparty/sb-signing-utils/test/keys /tmp
@printf " SBSIGN $(subst $(obj)/,,$(@))\n"
$(SBSIGNTOOLS) -a $(KEYLOC)/hw_key_a.key -b $(KEYLOC)/hw_key_b.key -c $(KEYLOC)/hw_key_c.key \
-p $(KEYLOC)/hw_key_a.key --payload $(top)/$@ --imagefile $(top)/[email protected]
@printf " ECC $(subst $(obj)/,,$(@))\n"
$(ECCTOOL) --inject $(top)/[email protected] --output $(top)/[email protected] --p8
ifeq ($(CONFIG_BOOTBLOCK_IN_SEEPROM),y)
@printf " ECC bootblock\n"
$(ECCTOOL) --inject $(top)/$(objcbfs)/bootblock.bin --output $(obj)/bootblock.ecc --p8
else
@printf " SBSIGN bootblock\n"
$(SBSIGNTOOLS) -a $(KEYLOC)/hw_key_a.key -b $(KEYLOC)/hw_key_b.key -c $(KEYLOC)/hw_key_c.key \
-p $(KEYLOC)/hw_key_a.key --payload $(top)/$(objcbfs)/bootblock.bin \
--imagefile $(top)/$(obj)/bootblock.signed
$(ECCTOOL) --inject $(top)/$@ --output $(top)/[email protected] --p8
@printf " ECC bootblock\n"
dd if=$(obj)/bootblock.signed of=$(obj)/bootblock.signed.pad ibs=25486 conv=sync 2> /dev/null
$(ECCTOOL) --inject $(obj)/bootblock.signed.pad --output $(obj)/bootblock.signed.ecc --p8
rm $(obj)/bootblock.signed $(obj)/bootblock.signed.pad
endif # CONFIG_BOOTBLOCK_IN_SEEPROM
endif # CONFIG_ARCH_PPC64

cbfs-files-y += $(CONFIG_CBFS_PREFIX)/romstage
$(CONFIG_CBFS_PREFIX)/romstage-file := $(objcbfs)/romstage.elf
Expand Down
2 changes: 2 additions & 0 deletions configs/config.raptor-cs-talos-2
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
CONFIG_VENDOR_RAPTOR_CS=y
CONFIG_PAYLOAD_SKIBOOT=y
4 changes: 3 additions & 1 deletion payloads/external/skiboot/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,15 @@ config PAYLOAD_FILE

config SKIBOOT_GIT_REPO
string "Git repository of skiboot payload"
default "https://github.com/open-power/skiboot"
default "https://github.com/open-power/skiboot" if !BOARD_RAPTOR_CS_TALOS_2
default "https://github.com/Dasharo/skiboot.git" if BOARD_RAPTOR_CS_TALOS_2
help
Git repository which will be used to clone skiboot.

config SKIBOOT_REVISION
string "Revision of skiboot payload"
default "d93ddbd39b4eeac0bc11dacbdadea76df2996c13" if BOARD_EMULATION_QEMU_POWER9
default "1b14dd0b695b6113805186faad9b2def1d1bfeca" if BOARD_RAPTOR_CS_TALOS_2
help
Revision, that skiboot repository will be checked out to, before building
an image.
Expand Down
5 changes: 3 additions & 2 deletions payloads/external/skiboot/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ unexport $(COREBOOT_EXPORTS)
all: $(skiboot_elf)

$(skiboot_elf): | $(skiboot_dir) $(build_dir)
+$(MAKE) -C $(skiboot_dir) CROSS="$(skiboot_cross)"
+$(MAKE) -C $(skiboot_dir) CROSS="$(skiboot_cross)" skiboot.elf
cp $(skiboot_dir)/skiboot.elf $@
# skiboot is always built with debug information due to unconditional -ggdb
$(skiboot_cross)strip $@
Expand All @@ -32,5 +32,6 @@ distclean: clean
clean:
# Redefine RM because it's used like `$(RM) non-existent-file`
# Also ignore useless messages about removing test files
[ ! -d $(skiboot_dir) ] || $(MAKE) -C $(skiboot_dir) RM="rm -rf" clean > /dev/null
[ ! -d $(skiboot_dir) ] || \
$(MAKE) -C $(skiboot_dir) RM="rm -rf" CROSS="$(skiboot_cross)" clean > /dev/null
rm -rf $(build_dir)
2 changes: 1 addition & 1 deletion src/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -229,7 +229,7 @@ config INCLUDE_CONFIG_FILE

config COLLECT_TIMESTAMPS
bool "Create a table of timestamps collected during boot"
default y if ARCH_X86
default y if ARCH_X86 || ARCH_PPC64
help
Make coreboot create a table of timer-ID/timer-value pairs to
allow measuring time spent at different phases of the boot process.
Expand Down
12 changes: 3 additions & 9 deletions src/arch/ppc64/Makefile.inc
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
## SPDX-License-Identifier: GPL-2.0-only

ppc64_flags = -I$(src)/arch/ppc64/ -mbig-endian -mcpu=power8 -mtune=power8
ppc64_flags = -I$(src)/arch/ppc64/ -mbig-endian -mcpu=power8 -mtune=power8 -mno-pointers-to-nested-functions

ppc64_asm_flags =
ppc64_asm_flags = -Wa,--fatal-warnings

################################################################################
## bootblock
Expand All @@ -12,7 +12,6 @@ ifeq ($(CONFIG_ARCH_BOOTBLOCK_PPC64),y)
bootblock-y = bootblock_crt0.S
bootblock-y += arch_timer.c
bootblock-y += boot.c
bootblock-y += rom_media.c
bootblock-y += \
$(top)/src/lib/memchr.c \
$(top)/src/lib/memcmp.c \
Expand All @@ -38,16 +37,13 @@ ifeq ($(CONFIG_ARCH_ROMSTAGE_PPC64),y)
romstage-y += arch_timer.c
romstage-y += boot.c
romstage-y += stages.c
romstage-y += rom_media.c
romstage-y += \
$(top)/src/lib/memchr.c \
$(top)/src/lib/memcmp.c \
$(top)/src/lib/memcpy.c \
$(top)/src/lib/memmove.c \
$(top)/src/lib/memset.c

romstage-$(CONFIG_COLLECT_TIMESTAMPS) += timestamp.c

# Build the romstage

$(objcbfs)/romstage.debug: $$(romstage-objs)
Expand All @@ -64,7 +60,7 @@ endif
################################################################################
ifeq ($(CONFIG_ARCH_RAMSTAGE_PPC64),y)

ramstage-y += rom_media.c
ramstage-y += arch_timer.c
ramstage-y += stages.c
ramstage-y += arch_timer.c
ramstage-y += boot.c
Expand All @@ -78,8 +74,6 @@ ramstage-y += \

$(eval $(call create_class_compiler,rmodules,power8))

ramstage-$(CONFIG_COLLECT_TIMESTAMPS) += timestamp.c

ramstage-srcs += src/mainboard/$(MAINBOARDDIR)/mainboard.c

# Build the ramstage
Expand Down
Loading