#
ce89a37c |
| 05-Feb-2025 |
Manojkiran Eda <manojkiran.eda@gmail.com> |
smbios-mdr:Add support to toggle pcieslot presence
In the current state, the PCIeslot presence is always hardcoded to `true`, since the PCIeSlots are always embedded on the board. But the slot prese
smbios-mdr:Add support to toggle pcieslot presence
In the current state, the PCIeslot presence is always hardcoded to `true`, since the PCIeSlots are always embedded on the board. But the slot presence is not really useful. Since we are already getting the current usage of the slot in the SMBIOS Type 9 structure we could use the "Available"/"Occupied" status in the current usage field to indicate the drive presence.
Modify the slot presence code to only mark "true" if the current usage of the slot is "Occupied" & make it "false" if it is anything other than that.
Tested By: 1. Enabled the meson option via the meta-ibm layer by adding PACKAGECONFIG:append = "slot-drive-presence" 2. Post the SMBIOS transfer, could see the presence of the slot being toggled with respect to the current occupancy of the slot.
Change-Id: I57e6f48dc501e7e1625a5389ea1e989c5e585824 Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
show more ...
|
#
f3b25e55 |
| 07-Feb-2025 |
Manojkiran Eda <manojkiran.eda@gmail.com> |
pcieslot: Add slottype by length support
Add necessary support needed to display the fulllength & halflength slottypes on dbus.
Tested By: 1. Once coreboot/u-root transfers the smbios tables, I cou
pcieslot: Add slottype by length support
Add necessary support needed to display the fulllength & halflength slottypes on dbus.
Tested By: 1. Once coreboot/u-root transfers the smbios tables, I could see that the PCIeSlot types also show the fulllength & halflength slots on dbus & also confirmed the same on the openbmc webUI.
Change-Id: Iaf47f3525c86a82f5b57ac8cf05b9cb12b44f5cc Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
show more ...
|
#
5a122a6e |
| 03-May-2023 |
Brandon Kim <brandonkim@google.com> |
mdrv2: Attempt to update D-Bus objects in place
When systemInfoUpdate() is called multiple times, there's a potential race condition of a user polling for the objects while the array of D-Bus object
mdrv2: Attempt to update D-Bus objects in place
When systemInfoUpdate() is called multiple times, there's a potential race condition of a user polling for the objects while the array of D-Bus objects are erased and being repopulated. This results in incomplete set of memory or CPU counts, which can lead to unforseen consequences.
Tested: Verified that a corner case that was hitting this case consistently (when SMBIOS was transferred using ipmi-blob repeatedly) goes away with this implementation.
Signed-off-by: Brandon Kim <brandonkim@google.com> Change-Id: I312aa91cd11b1dd06502d04272889922108d39a2
show more ...
|
#
e7cf3195 |
| 20-Aug-2021 |
Jie Yang <jjy@google.com> |
smbios-mdr: Associate with the motherboard
The change associates the objects such as processor, memory and PCIe slots published by smbios-mdr with the motherboard inventory object. Presently objects
smbios-mdr: Associate with the motherboard
The change associates the objects such as processor, memory and PCIe slots published by smbios-mdr with the motherboard inventory object. Presently objects paths created by smbios-mdr have the motherboard path as the prefix -- "/xyz/openbmc_project/inventory/chassis/motherboard". For machine with entity-manager dynamic stack, that hardcoded motherboard path would probably not be the object path of the motherboard.
We have implemented a DBus method in EM that can return the inventory object path of the root board in the system. Such associations can be assembled in Redfish resources can indicate the machine topology.
Tested: DBus call on the Association interface of a CPU object.
busctl get-property xyz.openbmc_project.Smbios.MDR_V2 \ /xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0 \ xyz.openbmc_project.Association.Definitions Associations a(sss) 1 "chassis" "processors" \ "/xyz/openbmc_project/inventory/system/board/GSZ"
Signed-off-by: Jie Yang <jjy@google.com> Change-Id: Ia95159a87c2ce5e69e90e622cf341a68e7db13d4
show more ...
|
#
08e4a6df |
| 23-Aug-2021 |
Jie Yang <jjy@google.com> |
smbios-mdr: Parse PCIE slot tables
System slot tables have SMBIOS table type 9. Parse system slot tables and select all PCIE slots. PCIE slot inventory DBus objects will have the xyz.openbmc_project
smbios-mdr: Parse PCIE slot tables
System slot tables have SMBIOS table type 9. Parse system slot tables and select all PCIE slots. PCIE slot inventory DBus objects will have the xyz.openbmc_project.Inventory.Item.PCIeSlot interface defined in phosphor-dbus-interfaces.
Tested: Tests on a Intel platform. Some DBus command outputs as follows:
busctl introspect xyz.openbmc_project.Smbios.MDR_V2 \ /xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot3
NAME TYPE SIGNATURE RESULT/VALUE FLAGS org.freedesktop.DBus.Introspectable interface - - -herboard/p .Introspect method - s - org.freedesktop.DBus.Peer interface - - - .GetMachineId method - s - .Ping method - - - org.freedesktop.DBus.Properties interface - - - .Get method ss v - .GetAll method s a{sv} - .Set method ssv - - .PropertiesChanged signal sa{sv}as - - xyz.openbmc_project.Inventory.Decorator.LocationCode interface - - - .LocationCode property s "PE3" emits-change writable xyz.openbmc_project.Inventory.Item interface - - - .Present property b true emits-change writable .PrettyName property s "" emits-change writable xyz.openbmc_project.Inventory.Item.PCIeSlot interface - - - .Generation property s "xyz.openbmc_project.Inventory.Item.P... emits-change writable .HotPluggable property b false emits-change writable .Lanes property u 16 emits-change writable .SlotType property s "xyz.openbmc_project.Inventory.Item.P... emits-change writable
busctl get-property xyz.openbmc_project.Smbios.MDR_V2 \ /xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot3 \ xyz.openbmc_project.Inventory.Item.PCIeSlot Generation
s "xyz.openbmc_project.Inventory.Item.PCIeSlot.Generations.Gen5"
busctl get-property xyz.openbmc_project.Smbios.MDR_V2 \ /xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot3 \ xyz.openbmc_project.Inventory.Item.PCIeSlot SlotType
s "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.Unknown"
Note that it shows unknown PCIE slot types, as SMBIOS system slot record does not have the information that a PCIE slot is full-length, half-length or low-profile.
Signed-off-by: Jie Yang <jjy@google.com> Change-Id: Ie9179ceb57dea3f659c15939611e873411de7320
show more ...
|