-
Notifications
You must be signed in to change notification settings - Fork 5
Cater for using targeting in IPL #19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
devenrao
wants to merge
19
commits into
ibm-openbmc:refactor-phal
Choose a base branch
from
devenrao:cbs
base: refactor-phal
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Can one of the admins verify this patch? |
Ensure scalar attribute values are correctly converted from big-endian when reading data from the device tree. This fixes potential issues with misinterpreted values on little-endian platforms. Change-Id: I2ecb9246cb365a9de4e63fa27ff67c17f25e03b8 Signed-off-by: Marri Devender Rao <[email protected]>
Modified the Google Test wrap to follow the standard format used across OpenBMC repositories such as sdbuplus. Ensures consistent integration and usage of the testing framework within the project. Signed-off-by: Marri Devender Rao <[email protected]> Change-Id: I545d25b06706bd4ad9233012376ce63fd5907fbf
0ec2ad7
to
659f7f8
Compare
58ea0db
to
0ea065f
Compare
4ce628b
to
469d491
Compare
- For local Meson builds, add libfdt as a subproject to provide the 'fdt' dependency. This allows building targeting library without requiring system-installed dtc. - For Yocto/Bitbake builds, rely on the dtc recipe and add DEPENDS on dtc, avoiding local subproject build and ensuring proper packaging. - Avoid using dtc.wrap as it caused issues due to dtc being distributed as a tar.gz instead of a git repository. Signed-off-by: Marri Devender Rao <[email protected]> Change-Id: I2d4e13af157eae933d2bf093d54aea09f03d7502
- Relocate the sample application used to validate targeting changes from the main folder to the dedicated test folder. - Update Meson build files accordingly to reflect the new location. Signed-off-by: Marri Devender Rao <[email protected]> Change-Id: I388ce32fda3b51f4dc4ac4138ca2fc7ed979a0d3
Test by switching to rainier auto-genrated files and dtb file. Signed-off-by: Marri Devender Rao <[email protected]> Change-Id: Ie48623bc697e01c3c9dd22a374deb98f04d7c7bd
Add auto generated fapi to targeting attribute mapping header file. Change-Id: I52b7311f4ef0c4770933050b7ca3dc5eeb205077
ATTR_HW543384_WAR_MODE is used in clock test HWP and the same is not generated so adding it manually Change-Id: I1ea51bd2ab2481c317567404aa89451bc45553f8
ATTR_MC_PLL_BUCKET uses C-type array so catering for the same in tryGetAttr and trySetAttr methods Also removed private helper method setAttrImpl and using trySetAttrImpl to avoid duplicate code. Change-Id: I38a4db5103f43003376a284ddb4b885b5ca0c7cc
optimized trySetAttrImpl tryGetAttrImpl methods which has too many if..else blocks Change-Id: I76192a8e2810a3f5f84bbe67828d7d7386db1491
bea3e7a
to
c1817a8
Compare
- Add Fapi2ToTargetingAttr template to map fapi2::AttributeId to TARGETING::ATTRIBUTE_ID at compile-time. - Define REGISTER_FAPI2_TO_TARGETING macro to simplify registration of each attribute mapping. - Register mappings for SYS0, SYS1, PCI0, and PCI1 REFCLK receiver terms. - Replaces previous enum-based approach, enabling type-safe, modern C++20 compliant attribute conversions. Change-Id: I682c408de137d17119b5fce3928eac24580a3cd3
Set the default hardware access method for all processor (PROC) targets to SBEFIFO, which will be used for normal chip communication. In scenarios where the BMC fails to communicate with the SBE (e.g., SBE not responding or FIFO timeout). BMC will switch to the direct FSI access method to retrieve debug and recovery data. Change-Id: Ie9fabe4fe52bc857cf3fe15d05dcb566736b66cb
Change-Id: Ifcfd2f35ea17e700d550bac573f7dfcb10e3428d
Change-Id: I12faeafe3da66f3d037633f05c02fb10e8966203
Change-Id: I57092d51efdbe25ff2a599831f219ddde1d5aa8b
Previously, methods in Target used childByAffinity as the default association type. This has been modified to childByPhysical to maintain consistency with hostboot targeting and ensure uniform target traversal behavior. Change-Id: Ib831d643c039e729720100b8697738bcc5528f45
Extended htobe_integral and betoh_integral utilities to handle enum types, including enums defined with underlying types like uint8_t, uint16_t, etc. This ensures attribute get/set operations correctly perform endian conversion for both integral and enum-based attributes. Tested Test3: TYPE_PROC size TYPE_PROC size 4 Test5: Endian conversion when read uint32_t value from dtb file 0x1 Change-Id: I5d9eb441a69bc0620b4f3033cbcc2f10cb402c98
Update the device tree to mark the master processor target as functional and present by default. This ensures that the master proc is available for initialization and targeting queries during system startup. Change-Id: I2bcc22493084287b8288082c4212fdcc8a28a09b
Return FdHandle by value instead of returning pointer to a local object, which was going out of scope and causing invalid file descriptor errors during CFAM read/write operations. Also added temporary debug logs for demo; these will be removed in a later cleanup commit. Change-Id: I1476472b351dbdbdc98d59e9dc84bf740b90df9e
3f2845b
to
2785833
Compare
At present, the IPL code performs an I2C write and read sequence to reset the clock chip in order to work around a known hardware defect. This change introduces a standalone test application that performs the same behavior using the i2c_transport APIs. The test can be run manually before host power-on to verify and reset the clock chip. Note: - The REFCLK target should be marked as present and functional in the DTS. - The test app interacts with the clock over the I2C bus and validates the reset sequence and status register. This utility helps validate clock reset functionality independent of IPL. Change-Id: Ib539a3b42b3eeca4891c17f01e804c4de680068d
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Following changes are done to pdbg repository
Do not use platform_attrs.H generated header file which uses pdbg_get/set attribute rather follow the hosboot way and use geneated fapi2platmacros.H which internally calls tryGetAttr and trySetAttr inside the macros.
Add missing attribute in rainier generated dts file ATTR_HW543384_WAR_MODE as this attribute is accessed in step 0 hwp.
Modify autogenerated fapi2platattrmacros.H to use constexpr and consteval over integer cast as the tryGetAttr, trySetAttr are template methods and we cannot use integer cast as part of compile time code generation for template methods.
Modify target service to loop through all the proc targets and set the HW_ACCESS_METHOD default pointer to SBEFIFO_ACCESS_PTR this way any invocation of HWP getcfam/putcfam getscom/putscom calls the sbefifo related methods. Direct access is used only when SBE is down.