)]}'
{
  "log": [
    {
      "commit": "684e4df7ede714598ffd4cff167340d26d4a0518",
      "tree": "5258393fec641363e30a862e8b3460d5de049886",
      "parents": [
        "b64913821c378aae4553d95fd4636056ab673bbc"
      ],
      "author": {
        "name": "Kyle Nieman",
        "email": "kyle.nieman@fii-na.corp-partner.google.com",
        "time": "Wed Apr 08 13:07:21 2026 -0500"
      },
      "committer": {
        "name": "Kyle Nieman",
        "email": "kyle.nieman@fii-na.corp-partner.google.com",
        "time": "Wed Apr 08 15:06:16 2026 -0500"
      },
      "message": "fru: server 3.0: Add JSON support for CXL\n\nSummary:\nAdd the `cxl` JSON boolean property to force set a slot as a CXL\ndevice.\n\nTested:\nAll unit tests passed. With a CXL device not installed on a platform30,\nunit, the CXL bit was set for the slot.\n\nGoogle-Bug-Id: 435526024\nChange-Id: Ife39640f2ba3f606a58ec16f1ccba7113124be49\nSigned-off-by: Kyle Nieman \u003ckyle.nieman@fii-na.corp-partner.google.com\u003e\n"
    },
    {
      "commit": "b64913821c378aae4553d95fd4636056ab673bbc",
      "tree": "4f86073a3f2a0144d9ec6bdec478e2386b51bd07",
      "parents": [
        "9fac025b381dc92f20823361c43427b62d88d639"
      ],
      "author": {
        "name": "Sam Agazaryan",
        "email": "samagazaryan@google.com",
        "time": "Mon Mar 30 20:57:07 2026 +0000"
      },
      "committer": {
        "name": "Sam Agazaryan",
        "email": "samagazaryan@google.com",
        "time": "Wed Apr 01 12:54:05 2026 -0700"
      },
      "message": "pcie-bifurcation: Add mutex lock to fix std::map data race\n\nWhen populating the PCIe bifurcation configuration, async worker\nthreads are launched to extract configuration for each slot in\nparallel.\nThese threads all write to the class-level fruBusAddrPair map\nin getSMBusAddrPair without any locking. Since std::map uses\na Red-Black Tree internally, concurrent writes corrupt the tree\nstructure, creating cycles that result in infinite loops or memory\nexhaustion during iteration.\n\nThis patch adds fruBusAddrPairMutex and wraps insertions and reads\nin std::lock_guard to prevent the race condition.\n\nTested: Soak tests are no longer hanging, 2000+ daemon resets did not trigger the race condition (Could be triggered by at most ~150 resets before fix)\nGoogle-Bug-Id: 496676588\nChange-Id: I21777e4093b094b601cfe0b3c2f0af56d5bca044\nSigned-off-by: Sam Agazaryan \u003csamagazaryan@google.com\u003e\n"
    },
    {
      "commit": "9fac025b381dc92f20823361c43427b62d88d639",
      "tree": "6c8a6936d64dda0dc432f6b5587d910febfae1d1",
      "parents": [
        "8391a3316bc6abf2323662545ac5ee0430c1119e"
      ],
      "author": {
        "name": "Kyle Nieman",
        "email": "kyle.nieman@fii-na.corp-partner.google.com",
        "time": "Fri Mar 06 13:34:22 2026 -0600"
      },
      "committer": {
        "name": "Kyle Nieman",
        "email": "kyle.nieman@fii-na.corp-partner.google.com",
        "time": "Wed Apr 01 06:11:42 2026 -0700"
      },
      "message": "fru: server 3.0: Add CXL support\n\nSummary:\nSet CXL bit (0x80) in PCIe bifurcation for CXL devices.\n\nTested:\nAll unit tests passed. With a CXL device installed on a platform30\nunit, the CXL bit was set for the related slots.\n\nGoogle-Bug-Id: 435526024\nChange-Id: Ibe2d5672e76a0db72838191b60431ecc3995a845\nSigned-off-by: Kyle Nieman \u003ckyle.nieman@fii-na.corp-partner.google.com\u003e\n"
    },
    {
      "commit": "8391a3316bc6abf2323662545ac5ee0430c1119e",
      "tree": "950788bff363dd7eb7011935ef985b4d1c9c6fc5",
      "parents": [
        "52486d37aac4b3716bbc8a2e3555656b3f00fbb7"
      ],
      "author": {
        "name": "Willy Tu",
        "email": "wltu@google.com",
        "time": "Sun Feb 15 08:37:04 2026 +0000"
      },
      "committer": {
        "name": "Willy Tu",
        "email": "wltu@google.com",
        "time": "Tue Mar 31 15:35:02 2026 -0700"
      },
      "message": "build: Move to c++23\n\nThis allows us to use the latest sdbuslpus with callback handler\nwhich uses `std::move_only_function\u003ccallback_t\u003e` only available in\nc++23.\n\nGoogle-Bug-Id: 482144905\nChange-Id: I7d7d286de1fd33ac765e9da4a071d38241d1ec17\nSigned-off-by: Willy Tu \u003cwltu@google.com\u003e\n"
    },
    {
      "commit": "52486d37aac4b3716bbc8a2e3555656b3f00fbb7",
      "tree": "dbaa2588043c24da86a4b3b8a4855fccf9e13048",
      "parents": [
        "78a5228436519231a8d64d4054d7561697a6a180"
      ],
      "author": {
        "name": "Kyle Nieman",
        "email": "kyle.nieman@fii-na.corp-partner.google.com",
        "time": "Wed Jan 21 13:08:15 2026 -0600"
      },
      "committer": {
        "name": "Kyle Nieman",
        "email": "kyle.nieman@fii-na.corp-partner.google.com",
        "time": "Thu Mar 12 13:40:07 2026 -0500"
      },
      "message": "fru: server 3.0: Add the `default_config` property\n\nSummary:\nServer 2.0 has the property, `default_config`, which is used as a\nfallback value in the event that the bifurcation info can\u0027t be\ndetermined dynamically.\n\nAdd this property for Server 3.0.\n\nTested:\nUses the bifurcation default when a device isn\u0027t detected. When\na device is detected, the `default_config` isn\u0027t used, and the\ndynamically found value is used instead.\n\nGoogle-Bug-Id: 435526024\nChange-Id: I52a3aa4816695be798bae95190888ab2fe8d54cd\nSigned-off-by: Kyle Nieman \u003ckyle.nieman@fii-na.corp-partner.google.com\u003e\n"
    },
    {
      "commit": "78a5228436519231a8d64d4054d7561697a6a180",
      "tree": "ad05099aae1aebe9748e0bacc5854cd499a68205",
      "parents": [
        "c1252769fb0bc2daca8666987de109e10d1ae86a"
      ],
      "author": {
        "name": "Kyle Nieman",
        "email": "kyle.nieman@fii-na.corp-partner.google.com",
        "time": "Wed Jan 21 18:00:19 2026 -0600"
      },
      "committer": {
        "name": "Kyle Nieman",
        "email": "kyle.nieman@fii-na.corp-partner.google.com",
        "time": "Tue Feb 03 12:07:52 2026 -0800"
      },
      "message": "fru: Fix retrieval of bifurcation data from Entity Manager\n\nSummary:\n1. Adjust the functions used to get the bifurcation data from entity\n   manager to use the correct type.\n```\nFailed to get deviceLanes: sd_bus_message_read_basic fundamental: System.Error.ENXIO: No such device or address\n```\n2. Ensure the data structure updated is the long term one, and not just\n   a temporary copy.\n\nTested:\nExceptions are no longer thrown when running these function\nwhen the corresponding DBus properties exist. The EM bifurcation data\nis present in the final binary.\n```\n// Before, value would be set to 00 indicating not present\nroot@platform30:~# hexdump -C /run/pcie0.cfg\n00000000  08 00 02 08 08 02 08 08  02 01 04 02 08 08 02 08  |................|\n00000010  08 02 08 08 02 01 04                              |.......|\n00000017\n// After, value is set to x16 as specified in the EM json\nroot@platform30:~# hexdump -C /run/pcie0.cfg\n00000000  08 01 10 02 08 08 02 08  08 02 01 04 02 08 08 02  |................|\n00000010  08 08 02 08 08 02 01 04                           |........|\n00000018\n```\n\nGoogle-Bug-Id: 435526024\nChange-Id: I4f84290596672ff22aa9cb64e8a978f61d501282\nSigned-off-by: Kyle Nieman \u003ckyle.nieman@fii-na.corp-partner.google.com\u003e\n"
    },
    {
      "commit": "c1252769fb0bc2daca8666987de109e10d1ae86a",
      "tree": "529fcb0c41fc9f98191cdd1eff440ec1d66b0e1f",
      "parents": [
        "7f88086953b85cc93ae9ffce64c820c52f8472b9"
      ],
      "author": {
        "name": "Kyle Nieman",
        "email": "kyle.nieman@fii-na.corp-partner.google.com",
        "time": "Wed Jan 21 17:32:05 2026 -0600"
      },
      "committer": {
        "name": "Kyle Nieman",
        "email": "kyle.nieman@fii-na.corp-partner.google.com",
        "time": "Tue Feb 03 12:07:45 2026 -0800"
      },
      "message": "fru: Fix I2CDevice `Bus` type\n\nSummary:\nAdded debug logs and saw that the bus associated with the EntityManager\npath was always 0. Manually checking with `busctl` showed the correct\nvalue.\n```\nroot@platform30:~# pcie_bifurcation\nParsing host 0\nStart Getting Via Entity Manager for /xyz/openbmc_project/inventory/system/board/HPM0\nPath: /xyz/openbmc_project/inventory/system/board/ssd_hpm0\nBus: 0\nUpdating 0 with /xyz/openbmc_project/inventory/system/board/ssd_hpm0\n\nroot@platform30:~# busctl introspect xyz.openbmc_project.EntityManager \\\n\u003e /xyz/openbmc_project/inventory/system/board/ssd_hpm0 | grep \\\\.Bus\n.Bus                                              property  t         4\n```\n\nTurns out the `Bus` size for I2CDevice of Entity Manager(uint64) is\ndifferent than that of FruDevice `Bus` size(uint32)\nhttps://www.alteeve.com/w/List_of_DBus_data_types#:~:text\u003d0%20to%2018%2C446%2C744%2C073%2C709%2C551%2C616.-,DBus%3A%20t,-Perl%3A%20uint64\n\n```\nroot@platform30:~# busctl introspect xyz.openbmc_project.EntityManager /xyz/openbmc_project/inventory/system/board/HPM0\nxyz.openbmc_project.Inventory.Decorator.I2CDevice    interface -         -                                        -\n.Address                                             property  t         80                                       emits-change\n.Bus                                                 property  t         28                                       emits-change\n\nroot@platform30:~# busctl introspect xyz.openbmc_project.FruDevice /xyz/openbmc_project/FruDevice/platform30\nxyz.openbmc_project.FruDevice       interface -         -                                    -\n.ADDRESS                            property  u         80                                   emits-change\n.BUS                                property  u         28                                   emits-change\n```\n\nUpdate the data type accordingly.\n\nTested:\nThe Entity Manager path is now successfully related to the correct\nbus.\n```\nStart Getting Via Entity Manager for /xyz/openbmc_project/inventory/system/board/HPM0\nPath: /xyz/openbmc_project/inventory/system/board/ssd_hpm0\nBus: 4\nUpdating 4 with /xyz/openbmc_project/inventory/system/board/ssd_hpm0\nFinished parsing host 0\nParsing host 1\nStart Getting Via Entity Manager for /xyz/openbmc_project/inventory/system/board/HPM1\nFinished parsing host 1\nGot bus 4, addr 83, bifurcation\nUsing Server3PcieBifurcation implementation\nFailed to get deviceLanes: sd_bus_message_read_basic fundamental: System.Error.ENXIO: No such device or address\nFailed to get slotLanes: sd_bus_call: org.freedesktop.DBus.Error.UnknownProperty: Unknown interface xyz.openbmc_project.Inventory.Item.PCIeDevice or property Lanes.\n```\n\nGoogle-Bug-Id: 435526024\nChange-Id: I147ce675ee527902c8389f4e179724c10fc5ebc2\nSigned-off-by: Kyle Nieman \u003ckyle.nieman@fii-na.corp-partner.google.com\u003e\n"
    },
    {
      "commit": "7f88086953b85cc93ae9ffce64c820c52f8472b9",
      "tree": "7534e862245becfd699e48fb1e119fdc19b8baeb",
      "parents": [
        "c169654d0007c991f9f4af2314e909d46b8bba0d"
      ],
      "author": {
        "name": "Kyle Nieman",
        "email": "kyle.nieman@fii-na.corp-partner.google.com",
        "time": "Wed Jan 21 15:52:20 2026 -0600"
      },
      "committer": {
        "name": "Kyle Nieman",
        "email": "kyle.nieman@fii-na.corp-partner.google.com",
        "time": "Tue Feb 03 12:07:06 2026 -0800"
      },
      "message": "fru: Fix main_board_prefix meson option\n\nSummary:\n`MAIN_BOARD_PREFIX` always seemed to be the default even when setting\nthe `main_board_prefix` meson option. Fix the behavior so that\n`MAIN_BOARD_PREFIX` is always set to the `main_board_prefix` meson\noption.\n\nTested:\nFlashed on a platform 30 unit. Can now see that the DBus path used\nis correct.\nBefore:\n```\n// In 2 separate terminals, start monitoring DBus traffic prior to\n// running the bifurcation binary\nroot@platform30:~# pcie_bifurcation\nParsing host 0\nFinished parsing host 0\nParsing host 1\nFinished parsing host 1\nGot bus 4, addr 83, bifurcation\nUsing Server3PcieBifurcation implementation\nReading FRU of 4 and with address 83\nSuccessfully populated pcie bifurcation data\n\n// Can see that it is referencing the default\nroot@platform30:~# dbus-monitor --system | grep -i containing\n   object path \"/xyz/openbmc_project/inventory/system/board/server3_0/containing\"\n   object path \"/xyz/openbmc_project/inventory/system/board/server3_1/containing\"\n```\n\nAfter:\n```\nroot@platform30:~# pcie_bifurcation\nParsing host 0\nFinished parsing host 0\nParsing host 1\nFinished parsing host 1\nGot bus 4, addr 83, bifurcation\nUsing Server3PcieBifurcation implementation\nReading FRU of 4 and with address 83\nSuccessfully populated pcie bifurcation data\n\n// Can see that the value has changed to the user set meson option\nroot@platform30:~# dbus-monitor --system | grep -i containing\n   object path \"/xyz/openbmc_project/inventory/system/board/HPM0/containing\"\n   object path \"/xyz/openbmc_project/inventory/system/board/HPM1/containing\"\n```\n\nGoogle-Bug-Id: 435526024\nChange-Id: Ida2298d246de7ff3768cf42e70716776473f9d85\nSigned-off-by: Kyle Nieman \u003ckyle.nieman@fii-na.corp-partner.google.com\u003e\n"
    },
    {
      "commit": "c169654d0007c991f9f4af2314e909d46b8bba0d",
      "tree": "81082358f2e8491ed2a768869887c3f28752ff0d",
      "parents": [
        "c10ce7786f0162a8e5c8083011f6c144adbdf13f"
      ],
      "author": {
        "name": "Kyle Nieman",
        "email": "kyle.nieman@fii-na.corp-partner.google.com",
        "time": "Fri Jan 16 17:17:56 2026 -0600"
      },
      "committer": {
        "name": "Kyle Nieman",
        "email": "kyle.nieman@fii-na.corp-partner.google.com",
        "time": "Thu Jan 29 15:30:19 2026 -0600"
      },
      "message": "fru: server 3.0: Add option to skip validating lanes\n\nSummary:\nFor main PCIe clusters, the lanes associated with a slot should equal\nx8 or x16 if combined. PCIe utility clusters don\u0027t follow this though.\nFor example, platform 30\u0027s utility cluster bifurcation is 1x1 + 1x4\nfor a total of 5.\n\nWhen a bus number isn\u0027t provided via the configuration file, don\u0027t\nrequire that the lanes for a slot add up to x8 or x16.\n\nTested:\nSuccessfully set the bifurcation info to \u0027x1x4\u0027 for a slot on platform\n30.\n\nGoogle-Bug-Id: 435526024\nChange-Id: Ia7b8533f6e98f38e3e36dd1d334fbbe9cdd85d36\nSigned-off-by: Kyle Nieman \u003ckyle.nieman@fii-na.corp-partner.google.com\u003e\n"
    },
    {
      "commit": "c10ce7786f0162a8e5c8083011f6c144adbdf13f",
      "tree": "1312a01875309860b9bfd6996e61b89f327f2cfb",
      "parents": [
        "8ce089b25c85977e0f3092693dde909ba69c0a0b"
      ],
      "author": {
        "name": "Kyle Nieman",
        "email": "kyle.nieman@fii-na.corp-partner.google.com",
        "time": "Fri Jan 16 15:47:19 2026 -0600"
      },
      "committer": {
        "name": "Kyle Nieman",
        "email": "kyle.nieman@fii-na.corp-partner.google.com",
        "time": "Thu Jan 29 15:30:15 2026 -0600"
      },
      "message": "fru: server 3.0: Set bifurcation without a bus\n\nSummary:\nFor platform 30, there are some root complex configurations that aren\u0027t\nrelated to a PCIe slot. The host is still expecting the BMC to provide\nthis information for these utility clusters even though these values\nwon\u0027t ever change.\n\nAllow configuration entries without a specified I2C bus.\n\nTested:\nBuilt successfully.\n\nGoogle-Bug-Id: 435526024\nChange-Id: Ieba0998d18764dd28f76f7708a65fe9e951ee418\nSigned-off-by: Kyle Nieman \u003ckyle.nieman@fii-na.corp-partner.google.com\u003e\n"
    },
    {
      "commit": "8ce089b25c85977e0f3092693dde909ba69c0a0b",
      "tree": "2e676566ab84ec9d4fe577faba5cb6e92ce0ec6c",
      "parents": [
        "e94e20e616e2f16d728df4e342101e806722ef7b"
      ],
      "author": {
        "name": "Kyle Nieman",
        "email": "kyle.nieman@fii-na.corp-partner.google.com",
        "time": "Fri Jan 16 13:58:55 2026 -0600"
      },
      "committer": {
        "name": "Kyle Nieman",
        "email": "kyle.nieman@fii-na.corp-partner.google.com",
        "time": "Thu Jan 29 08:41:09 2026 -0800"
      },
      "message": "fru: Remove \u0027_\u0027 from Entity Manager main path\n\nSummary:\nNot all platforms follow the format of \u003cPlatform Name\u003e_\u003cHost Index\u003e.\nFor platform 30, the main board path format is HPM\u003cHost Index\u003e.\n\nTested:\nFlashed on a platform 30 Pre-EVT unit. Could successfully provide the\noption to meson.\n\nGoogle-Bug-Id: 435526024\nChange-Id: Ib897540f18bae551bf6f59109344a738449953a1\nSigned-off-by: Kyle Nieman \u003ckyle.nieman@fii-na.corp-partner.google.com\u003e\n"
    },
    {
      "commit": "e94e20e616e2f16d728df4e342101e806722ef7b",
      "tree": "f4a9455d656e7b71a7e9eed2eef828f26c96c617",
      "parents": [
        "bd88d7a278ecffc3de2a907259b1bb6e292b89c5"
      ],
      "author": {
        "name": "Kyle Nieman",
        "email": "kyle.nieman@fii-na.corp-partner.google.com",
        "time": "Fri Jan 16 14:06:50 2026 -0600"
      },
      "committer": {
        "name": "Kyle Nieman",
        "email": "kyle.nieman@fii-na.corp-partner.google.com",
        "time": "Tue Jan 27 09:02:04 2026 -0800"
      },
      "message": "fru: Remove ability to pass configuration file path\n\nSummary:\nThis functionality isn\u0027t needed anymore as the templated service\nimplementation has been removed.\nThis reverts commit 513d7c2784a9aaceb6108c199352d7ffe0d5432e.\nThis reverts commit 569e590d97eaa337bb03226cde6d3113521f1824.\n\nTested:\nThe default configuration path still works.\n\nGoogle-Bug-Id: 435526024\nChange-Id: I6146760a6b26d905730c086479ef615b971a1657\nSigned-off-by: Kyle Nieman \u003ckyle.nieman@fii-na.corp-partner.google.com\u003e\n"
    },
    {
      "commit": "bd88d7a278ecffc3de2a907259b1bb6e292b89c5",
      "tree": "e89a49a39b574062a62f82cc88f88c275d0bd563",
      "parents": [
        "452118b81847281597cf6798da81efaad63faff8"
      ],
      "author": {
        "name": "Alejandro Leal",
        "email": "alejandroleal@google.com",
        "time": "Fri Jan 16 01:13:45 2026 +0000"
      },
      "committer": {
        "name": "Alejandro Leal",
        "email": "alejandroleal@google.com",
        "time": "Mon Jan 26 21:32:03 2026 -0800"
      },
      "message": "Update ioadapter_y detection for CXL enablement\n\nTested: Validated bifurcation and CXL with previously unsupported\ndevices.\n\nBefore:\n--------------------------------------------------------------------------\nroot@xxx~# hexdump -C /run/soc_firmware/host0/pcie.cfg\n00000000  05 01 10 02 88 08 01 10  01 04 01 04              |............|\n0000000c\nroot@xxx:~# hexdump -C /run/soc_firmware/host1/pcie.cfg\n00000000  05 01 10 01 10 02 88 08  01 04 01 04              |............|\n0000000c\n--------------------------------------------------------------------------\n\nAfter:\n--------------------------------------------------------------------------\nroot@xxx:~# hexdump -C /run/soc_firmware/host0/pcie.cfg\n00000000  05 01 10 02 88 08 02 88  08 01 04 01 04           |.............|\n0000000d\nroot@xxx:~# hexdump -C /run/soc_firmware/host1/pcie.cfg\n00000000  05 01 10 02 88 08 02 88  08 01 04 01 04           |.............|\n0000000d\n--------------------------------------------------------------------------\n\nChange-Id: I2817442670d5aa971c299c1b1dd35590c8c93482\nGoogle-Bug-Id: 475686116\nSigned-off-by: Alejandro Leal \u003calejandroleal@google.com\u003e\n"
    },
    {
      "commit": "452118b81847281597cf6798da81efaad63faff8",
      "tree": "f4f32e38ca1d581e1c51de8be28cde58c67554f3",
      "parents": [
        "5ed0711906e70402d87876dad692a98694d32edf"
      ],
      "author": {
        "name": "Tao Ke",
        "email": "taok@google.com",
        "time": "Sun Jan 25 03:41:21 2026 +0000"
      },
      "committer": {
        "name": "Tao Ke",
        "email": "taok@google.com",
        "time": "Mon Jan 26 20:19:45 2026 +0000"
      },
      "message": "[BB][RP] Scan FRU from all address on a bus\n\nThe current assumption is each bus would only have one address.However\nthis is not true anymore with RayadoPeaScan.\n\nOn RP, there are 2 addresses under one bus, but the FRU is only on one\nof the address. This commit scan all the addresses on a bus, and return\nas when FRU is read from any address.\n\nTested:\non BB/ZB, nothing change.\nOn BB+RP, see the port bifurcated properly.\nhttps://paste.googleplex.com/4526384594681856\n\nFusion-Link:\nBB: https://fusion2.corp.google.com/016469dd-4202-4d68-8d6f-d9d6cfc64737\nZB: https://fusion2.corp.google.com/9241ae2e-c382-4065-a6fb-cd2c89352565\n\nGoogle-Bug-Id: 475686116\nChange-Id: Ib9486bd8b66e37dfdb7a7bbeb53bd95691b50476\nSigned-off-by: Tao Ke \u003ctaok@google.com\u003e\n"
    },
    {
      "commit": "5ed0711906e70402d87876dad692a98694d32edf",
      "tree": "ac0f74f0d5d2ccee9dc81a9a9bf9401c71067db9",
      "parents": [
        "ab7cef16b167e121b245ec28cbf8095f30159df5"
      ],
      "author": {
        "name": "Tom Tung",
        "email": "tomtung@google.com",
        "time": "Tue Dec 30 01:08:51 2025 +0000"
      },
      "committer": {
        "name": "Tom Tung",
        "email": "tomtung@google.com",
        "time": "Tue Dec 30 04:41:41 2025 +0000"
      },
      "message": "server3: pcie_bifurcation: Add overrides for EVT1\n\nHandle EVT1 NIC cable incorrect bifurcation issue by overriding bifurcation\nstring based on board product name.\n\nTested: Verified on hardware.\nGoogle-Bug-Id: 471332425\nChange-Id: I294aa45b242f983d20490a73ef3e23867145e606\nSigned-off-by: Tom Tung \u003ctomtung@google.com\u003e\n"
    },
    {
      "commit": "ab7cef16b167e121b245ec28cbf8095f30159df5",
      "tree": "e3420bd1f57bbce93e2c917cee7fae582aeca0fa",
      "parents": [
        "709c6a29b3663b44d12bd4475c22e6832df6ff6b"
      ],
      "author": {
        "name": "Tom Tung",
        "email": "tomtung@google.com",
        "time": "Tue Dec 30 01:08:45 2025 +0000"
      },
      "committer": {
        "name": "Tom Tung",
        "email": "tomtung@google.com",
        "time": "Tue Dec 30 03:13:00 2025 +0000"
      },
      "message": "server3: pcie_bifurcation: Handle missing cable and refactor aggregation\n\nRefactor aggregateEachSlot to use aggregateABSlot and helper functions.\nImplement logic to duplicate bifurcation data when a slot has 2 buses but only\n1 returns valid data (e.g. missing cable). Add comprehensive unit tests.\n\nTested: Unit tests passed.\nGoogle-Bug-Id: 471332425\nChange-Id: I1d02fdb748d1c5a453c0852d2f1b5bf8eb8611ee\nSigned-off-by: Tom Tung \u003ctomtung@google.com\u003e\n"
    },
    {
      "commit": "709c6a29b3663b44d12bd4475c22e6832df6ff6b",
      "tree": "03040f401dd40aa35860ceab00ac17c182523be8",
      "parents": [
        "20352a41f3ef1aca106b4c6a5705925364dd339c"
      ],
      "author": {
        "name": "Tom Tung",
        "email": "tomtung@google.com",
        "time": "Tue Dec 30 01:08:41 2025 +0000"
      },
      "committer": {
        "name": "Tom Tung",
        "email": "tomtung@google.com",
        "time": "Tue Dec 30 03:12:35 2025 +0000"
      },
      "message": "server3: pcie_bifurcation: Fix typos and improve utils\n\nFix typos in variable names and move helper functions to anonymous namespace.\nUpdate unit tests to reflect x8x8 parsing behavior.\n\nTested: Unit tests passed.\nGoogle-Bug-Id: 471332425\nChange-Id: I8b1a83d5d5ed8834f4119cbf4f0454fdf6cf2ae9\nSigned-off-by: Tom Tung \u003ctomtung@google.com\u003e\n"
    },
    {
      "commit": "20352a41f3ef1aca106b4c6a5705925364dd339c",
      "tree": "45cffd98bca5bf2c623ccf3e75def758ff4eabe6",
      "parents": [
        "5a1c07d16e9b83430d6c21db6dec690238481d6d"
      ],
      "author": {
        "name": "Anh Phan",
        "email": "anhphan@google.com",
        "time": "Mon Dec 08 06:28:09 2025 +0000"
      },
      "committer": {
        "name": "Anh Phan",
        "email": "anhphan@google.com",
        "time": "Thu Dec 11 19:50:08 2025 -0800"
      },
      "message": "server3: Check socket type before writing\n\nFor 1x2 socket, we need to merge 2 HPMs and only write to one output.\nThis commit also removes the writing to bios logic. It will only output\nto a binary file. Each platform should have its own mechanism to\ntransfer the bifurcation to hosts.\n\nTested:\nplatform29: No devices in qemu\n```\nroot@platform29:~# hexdump -C /run/bifurcation_hpm_0\n00000000  08 00 00 00 00 00 00 00  00                       |.........|\n00000009\n```\n```\nroot@platform28:~# hexdump -C /run/bifurcation_hpm_0\n00000000  06 01 10 02 08 08 01 08  00 00 00\n```\nGoogle-Bug-Id: 466862464\nGoogle-Bug-Id: 467928046\nChange-Id: I8dcb7854249d012c0682da226b62dd2f4b16af7f\nSigned-off-by: Anh Phan \u003canhphan@google.com\u003e\n"
    },
    {
      "commit": "5a1c07d16e9b83430d6c21db6dec690238481d6d",
      "tree": "a432db8d039dc112246433716fba3bb107e0b763",
      "parents": [
        "bc6e08a0b1f77864e8e697db8ab068a634b54ce8"
      ],
      "author": {
        "name": "Anh Phan",
        "email": "anhphan@google.com",
        "time": "Wed Dec 03 06:41:47 2025 +0000"
      },
      "committer": {
        "name": "Anh Phan",
        "email": "anhphan@google.com",
        "time": "Wed Dec 03 21:18:55 2025 -0800"
      },
      "message": "server3: Update alignment from 32 to 16\n\nTested:\n```\nroot@bmc:~# hexdump -C /mnt/luks-mmcblk0_fs/bios/image-bios-0 -s 50397184 -n 256\n03010000  22 24 47 4f 4f 47 21 22  04 00 00 00 24 ff ff ff  |\"$GOOG!\"....$...|\n03010010  06 01 10 02 08 08 01 08  00 00 00 ff ff ff ff ff  |................|\n03010020  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|\n```\nGoogle-Bug-Id: 462360001\nChange-Id: I699feacc837d56505d201677610ec0adefec0ba9\nSigned-off-by: Anh Phan \u003canhphan@google.com\u003e\n"
    },
    {
      "commit": "bc6e08a0b1f77864e8e697db8ab068a634b54ce8",
      "tree": "a479c9a20d2769c93ab1f3e995abca87db85bb6f",
      "parents": [
        "513d7c2784a9aaceb6108c199352d7ffe0d5432e"
      ],
      "author": {
        "name": "Anh Phan",
        "email": "anhphan@google.com",
        "time": "Wed Nov 19 02:43:18 2025 +0000"
      },
      "committer": {
        "name": "Anh Phan",
        "email": "anhphan@google.com",
        "time": "Wed Nov 19 06:07:42 2025 -0800"
      },
      "message": "Update server3 logic for cem_x16_to_2x8 cable\n\nThe old logic doesn\u0027t handle the case PEXA x8 + PEXB x8 -\u003e x16. The bifurcation rule for server3:\n\n* PEXA x8x8 + PEXB no cable -\u003e x8x8\n* PEXA x8 + PEXB no cable -\u003e x8\n* PEXA x4x4 + PEXB no cable -\u003e x4x4\n* PEXA x16 + PEXB x16 -\u003e x16\n* PEXA x16x16 + PEXB x16x16 -\u003e x16x16\n* PEXA x8 + PEXB x8 -\u003e x16\n\nTested:\n* Case 1: PE0A (x16), PE0B (x16), PE1A (x8x8), PE1B (0), PE2A (x8), PE2B (0)\n```\nroot@bmc:~# hexdump -C bios-image -s 50397184 -n 256\n03010000  22 24 47 4f 4f 47 21 22  04 00 00 00 00 00 00 00  |\"$GOOG!\"........|\n03010010  00 00 00 00 00 00 00 00  ff ff ff ff ff ff ff ff  |................|\n03010020  06 01 10 02 08 08 01 08  00 00 00 00 00 ff ff ff  |................|\n03010030  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|\n```\n* Case 2: PE0A (x8), PE0B (x8), PE1A (x8x8), PE1B (0), PE2A (x8), PE2B (0)\n```\nroot@bmc:~# hexdump -C bios-image | head\n00000000  06 01 10 02 08 08 01 08  00 00 00 00 ff ff ff ff  |................|\n```\nGoogle-Bug-Id: 456294027\nChange-Id: I5868a7c4075de8d180e5ab044b1342588145ab8f\nSigned-off-by: Anh Phan \u003canhphan@google.com\u003e\n"
    },
    {
      "commit": "513d7c2784a9aaceb6108c199352d7ffe0d5432e",
      "tree": "97ee2453fbd8314d8c48869d47be4b34d1c4810d",
      "parents": [
        "569e590d97eaa337bb03226cde6d3113521f1824"
      ],
      "author": {
        "name": "John Wedig",
        "email": "johnwedig@google.com",
        "time": "Mon Nov 17 23:29:57 2025 +0000"
      },
      "committer": {
        "name": "John Wedig",
        "email": "johnwedig@google.com",
        "time": "Mon Nov 17 23:33:48 2025 +0000"
      },
      "message": "Mark main() parameters as unused\n\nThe parameters for main() might be unused, depending on whether we\u0027re\nusing the base pcie bifurcation functionality or the server 3.0\nimplementation.\n\nTested:\nBuilt pcie-bifurcation with the server 3.0 implementation.\n\nChange-Id: Ia49673024dbdffe9b8a4f956a8cadec01e027f7a\nSigned-off-by: John Wedig \u003cjohnwedig@google.com\u003e\n"
    },
    {
      "commit": "569e590d97eaa337bb03226cde6d3113521f1824",
      "tree": "ed8e7e239331e38a204da7f66cf496c5f7bff84b",
      "parents": [
        "d737570eb79704ac6448c46295273912da329192"
      ],
      "author": {
        "name": "Kyle Nieman",
        "email": "kyle.nieman@fii-na.corp-partner.google.com",
        "time": "Thu Sep 25 12:54:45 2025 -0500"
      },
      "committer": {
        "name": "John Wedig",
        "email": "johnwedig@google.com",
        "time": "Mon Nov 17 10:20:10 2025 -0800"
      },
      "message": "pcie-bifurcation: Pass configuration file path\n\nSummary:\nOn systems with detachable HPMs, there are different system setups\nwhere not all HPMs may be present. We shouldn\u0027t be checking the\nbifurcation on missing HPMs as this will generate unused mappings, and\nthis process may potentially fail to store the generated files for a\nmissing HPM if the related directory doesn\u0027t exist.\n\nProvide an option to pass the configuration file path.\n\nGoogle-Bug-Id: 409831464\nChange-Id: Ibac867f0ed82c9db4da119d5bf9c5e39f94ba367\nSigned-off-by: Kyle Nieman \u003ckyle.nieman@fii-na.corp-partner.google.com\u003e\n"
    },
    {
      "commit": "d737570eb79704ac6448c46295273912da329192",
      "tree": "b9c2eaad4893376659b6a4d4159944ff10b80b56",
      "parents": [
        "22fa6575fb57cc4f9a58b029bb68fbe395f7d613"
      ],
      "author": {
        "name": "Anh Phan",
        "email": "anhphan@google.com",
        "time": "Mon Nov 17 05:57:05 2025 +0000"
      },
      "committer": {
        "name": "Anh Phan",
        "email": "anhphan@google.com",
        "time": "Mon Nov 17 05:21:58 2025 -0800"
      },
      "message": "Fix bios offset\n\nAccording to the design doc, the signature should be \"$GOOG!\" (8 bytes) instead of $GOOG! (6 bytes)\n\nTested:\nBifurcation was written to offset 0x03010020\n```\nroot@bmc:~# hexdump -C /mnt/luks-mmcblk0_fs/bios/vanilla_dynamic_bifurcation.bios -s 50397184 -n 256\n03010000  22 24 47 4f 4f 47 21 22  04 00 00 00 00 00 00 00  |\"$GOOG!\"........|\n03010010  00 00 00 00 00 00 00 00  ff ff ff ff ff ff ff ff  |................|\n03010020  06 02 08 08 02 08 08 01  08 00 00 00 00 ff ff ff  |................|\n03010030  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|\n```\nGoogle-Bug-Id: 456294027\nChange-Id: Iac514b5dd44edcc2cf6ec5bcb80e359ec1077238\nSigned-off-by: Anh Phan \u003canhphan@google.com\u003e\n"
    },
    {
      "commit": "22fa6575fb57cc4f9a58b029bb68fbe395f7d613",
      "tree": "0f24a4f9ad732e41cc9d32dc4ee5bd501fea1390",
      "parents": [
        "7b786f651559b6bb715232ee579f31f88ec89c0b"
      ],
      "author": {
        "name": "Willy Tu",
        "email": "wltu@google.com",
        "time": "Thu Nov 13 19:53:05 2025 +0000"
      },
      "committer": {
        "name": "Willy Tu",
        "email": "wltu@google.com",
        "time": "Thu Nov 13 11:55:42 2025 -0800"
      },
      "message": "fix BASE_PCIE_BIFURCATION in main\n\nIt should be `BASE_PCIE_BIFURCATION` instead of\nUSE_BASE_PCIE_BIFURCATION.\n\nGoogle-Bug-Id: 460189266\nChange-Id: I08decd8b1170c36a53b511b5e03f313410ceddcc\nSigned-off-by: Willy Tu \u003cwltu@google.com\u003e\n"
    },
    {
      "commit": "7b786f651559b6bb715232ee579f31f88ec89c0b",
      "tree": "59db728c19816646bf77ada8048c16211bf1eb80",
      "parents": [
        "0d10f46038ec7849783296ec67230fdc6859284a"
      ],
      "author": {
        "name": "Willy Tu",
        "email": "wltu@google.com",
        "time": "Thu Nov 13 01:04:24 2025 +0000"
      },
      "committer": {
        "name": "Willy Tu",
        "email": "wltu@google.com",
        "time": "Thu Nov 13 01:05:59 2025 +0000"
      },
      "message": "Add project argument for BASE_PCIEBIFURCATION\n\nChange to `base_pcie_bifurcation` feature flag and pass that into the\ncode.\n\nGoogle-Bug-Id: 460189266\nChange-Id: If8edbe68c74156abac06aa319d68e513bf815710\nSigned-off-by: Willy Tu \u003cwltu@google.com\u003e\n"
    },
    {
      "commit": "0d10f46038ec7849783296ec67230fdc6859284a",
      "tree": "7f3c09c7934d437e32766a663047949efe3c8e77",
      "parents": [
        "26b85d73fe1f5566cf833d418db521b9a6b25ece"
      ],
      "author": {
        "name": "Anh Phan",
        "email": "anhphan@google.com",
        "time": "Tue Sep 30 20:49:04 2025 +0000"
      },
      "committer": {
        "name": "Anh Phan",
        "email": "anhphan@google.com",
        "time": "Sun Nov 09 20:08:53 2025 -0800"
      },
      "message": "server3: Create PCIe Bifurcation for server3.0\n\nAdd Server3PcieBifurcation to handle the logic for server3.0 platforms. This commit don\u0027t change server2\u0027s logic since it uses a macro to decide which class to use.\n\nTested:\nroot@server3:~# hexdump -C /mnt/luks-mmcblk0_fs/bios/image-bios-0 | head\n00000000  06 01 08 00 03 08 08 08  00 00 00 ff ff ff ff ff  |................|\n00000010  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|\nroot@server3:~# hexdump -C /mnt/luks-mmcblk0_fs/bios/image-bios-1 | head\n00000000  06 01 08 00 03 08 08 08  00 00 00 ff ff ff ff ff  |................|\n00000010  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|\n\nGoogle-Bug-Id: 452190090\nChange-Id: I80f435363f58e62519e0624e354473ecf877159e\nSigned-off-by: Anh Phan \u003canhphan@google.com\u003e\n"
    },
    {
      "commit": "26b85d73fe1f5566cf833d418db521b9a6b25ece",
      "tree": "1bb3ae9bbab6a1057e1a0c0a126484455ef70314",
      "parents": [
        "86862338b4f520004c01d79195299ecf481a606d"
      ],
      "author": {
        "name": "Willy Tu",
        "email": "wltu@google.com",
        "time": "Thu Nov 06 03:55:22 2025 +0000"
      },
      "committer": {
        "name": "Willy Tu",
        "email": "wltu@google.com",
        "time": "Thu Nov 06 06:32:55 2025 -0800"
      },
      "message": "add base pcie-bifurcation.service to the repo\n\nGoogle-Bug-Id: 281642829\nChange-Id: I10d159ceb275dc4226ce90a7a7529be8c63ce58e\nSigned-off-by: Willy Tu \u003cwltu@google.com\u003e\n"
    },
    {
      "commit": "86862338b4f520004c01d79195299ecf481a606d",
      "tree": "15f678f1ee52f52745f5f2429a8c6fe02179348b",
      "parents": [
        "2c303d51ed18dda20de0e015a647d669204c7941"
      ],
      "author": {
        "name": "Willy Tu",
        "email": "wltu@google.com",
        "time": "Thu Nov 06 03:51:58 2025 +0000"
      },
      "committer": {
        "name": "Willy Tu",
        "email": "wltu@google.com",
        "time": "Thu Nov 06 06:32:46 2025 -0800"
      },
      "message": "move pcie_bifurcation_lib to be static\n\nThe library won\u0027t be used outside of the pcie_bifurcation executable.\nMaking it static so that we don\u0027t need to install it as a separate\nshared lib on the machine.\n\nGoogle-Bug-Id: 281642829\nChange-Id: Idcd1848de10442d36b90725c626106f5862d09ab\nSigned-off-by: Willy Tu \u003cwltu@google.com\u003e\n"
    },
    {
      "commit": "2c303d51ed18dda20de0e015a647d669204c7941",
      "tree": "f74a06434189d5cba17eff52eb1ee83759184319",
      "parents": [
        "6b9c6c46c51cfc0779bd0e47403bb98c13cecaf8"
      ],
      "author": {
        "name": "Willy Tu",
        "email": "wltu@google.com",
        "time": "Tue Oct 21 18:43:52 2025 +0000"
      },
      "committer": {
        "name": "Willy Tu",
        "email": "wltu@google.com",
        "time": "Thu Oct 23 20:18:37 2025 +0000"
      },
      "message": "migrate usb device detection\n\nMove the usb device detection logic that\u0027s a patch in entity manager to\npcie_bifurcation to keep all bifurcation related code in a common place.\n\nBased on\n- https://gbmc.googlesource.com/meta-gbmc-staging/+/e1bac3c2109b9f79449616e3c5da0b06a6974932/recipes-phosphor/configuration/entity-manager/0005-Add-USB-Device-discovery-daemon.patch\n\nGoogle-Bug-Id: 281642829\nChange-Id: I79af52f715914bd494e360d30ae241cb4d104014\nSigned-off-by: Willy Tu \u003cwltu@google.com\u003e\n"
    },
    {
      "commit": "6b9c6c46c51cfc0779bd0e47403bb98c13cecaf8",
      "tree": "3a8dd20aa2750c4aa642984d4ec3d9ba241afbdf",
      "parents": [
        "9ce0c7307080786e525455923907a82900028125"
      ],
      "author": {
        "name": "Willy Tu",
        "email": "wltu@google.com",
        "time": "Tue Oct 21 18:28:34 2025 +0000"
      },
      "committer": {
        "name": "Willy Tu",
        "email": "wltu@google.com",
        "time": "Thu Oct 23 20:09:04 2025 +0000"
      },
      "message": "move all the files to under fru_static\n\nRestructure the code to have it under fru_static/ folder.\n\nGoogle-Bug-Id: 281642829\nChange-Id: I7067537d80f0642b5d829040f4fe44717caae16e\nSigned-off-by: Willy Tu \u003cwltu@google.com\u003e\n"
    },
    {
      "commit": "9ce0c7307080786e525455923907a82900028125",
      "tree": "d39cfb28dd915fbaba42bb8696f292cbe4f11dc6",
      "parents": [
        "3b29607f63828f9c3f561cae62b7a67f9198ca9f"
      ],
      "author": {
        "name": "Konda Reddy Kachana",
        "email": "kkachana@google.com",
        "time": "Mon Aug 18 20:22:11 2025 +0000"
      },
      "committer": {
        "name": "Konda Reddy Kachana",
        "email": "kkachana@google.com",
        "time": "Mon Aug 18 21:13:44 2025 +0000"
      },
      "message": "Make y-cable check case insensitive\n\nSet cxl bit when product name is y-cable(case insensitive)\n\nTested:\n[----------] 7 tests from FormatIPMIFRUTest\n[ RUN      ] FormatIPMIFRUTest.EmptyFruReturnsError\n[       OK ] FormatIPMIFRUTest.EmptyFruReturnsError (0 ms)\n[ RUN      ] FormatIPMIFRUTest.YCableProductNameSetsCxlDeviceCapCase\n[       OK ] FormatIPMIFRUTest.YCableProductNameSetsCxlDeviceCapCase (0 ms)\n[ RUN      ] FormatIPMIFRUTest.YCableProductNameSetsCxlDeviceSmallCase\n[       OK ] FormatIPMIFRUTest.YCableProductNameSetsCxlDeviceSmallCase (0 ms)\n[ RUN      ] FormatIPMIFRUTest.YCableProductNameSetsCxlDeviceCamelCase\n[       OK ] FormatIPMIFRUTest.YCableProductNameSetsCxlDeviceCamelCase (0 ms)\n[ RUN      ] FormatIPMIFRUTest.NormalProductNameDoesNotSetCxlDevice\n[       OK ] FormatIPMIFRUTest.NormalProductNameDoesNotSetCxlDevice (0 ms)\n[ RUN      ] FormatIPMIFRUTest.InvalidChecksumReturnsWarning\n[       OK ] FormatIPMIFRUTest.InvalidChecksumReturnsWarning (0 ms)\n[ RUN      ] FormatIPMIFRUTest.TruncatedFruReturnsError\n[       OK ] FormatIPMIFRUTest.TruncatedFruReturnsError (0 ms)\n[----------] 7 tests from FormatIPMIFRUTest (0 ms total)\n\nGoogle-Bug-Id: 427566786\nChange-Id: I03c8b01529d278a01a19a8e7bba2975c57ac2dc9\nSigned-off-by: Konda Reddy Kachana \u003ckkachana@google.com\u003e\n"
    },
    {
      "commit": "3b29607f63828f9c3f561cae62b7a67f9198ca9f",
      "tree": "e21bb5b023fc73aa47008de49896a1f0f93c302f",
      "parents": [
        "030fa8b548cfc7a9f8056cb5e0e445ce8e69b040"
      ],
      "author": {
        "name": "Konda Reddy Kachana",
        "email": "kkachana@google.com",
        "time": "Sat Jun 28 03:23:17 2025 +0000"
      },
      "committer": {
        "name": "Konda Reddy Kachana",
        "email": "kkachana@google.com",
        "time": "Sat Jul 19 01:36:50 2025 +0000"
      },
      "message": "Add CXL detection to BMC\u0027s pcie.cfg\n\nSet CXL bit in pcie bifurcation data for CXL devices\n\nTested:\nWithout CXL Fru:\n\nBefore\u003d\u003e\n00000000  05 01 10 01 10 01 10 01  04 01 04                 |...........|\n0000000b\n00000000  05 01 10 01 10 01 10 01  04 01 04                 |...........|\n0000000b\n\nAfter\u003d\u003e\n00000000  05 01 10 01 10 01 10 01  04 01 04                 |...........|\n0000000b\n00000000  05 01 10 01 10 01 10 01  04 01 04                 |...........|\n0000000b\n\nWith CXL Fru: (BBUS164\u003d2620:15c:2c3:a805:22f0:94ff:fe53:68b8)\n\nBefore\u003d\u003e\n00000000  04 02 08 08 02 08 08 01  10 01 01                 |...........|\n0000000b\n00000000  04 02 08 08 02 08 08 01  10 01 01                 |...........|\n0000000b\n\nAfter\u003d\u003e\n00000000  04 02 88 08 02 88 08 01  10 01 01                 |...........|\n0000000b\n00000000  04 02 88 08 02 88 08 01  10 01 01                 |...........|\n0000000b\n\nGoogle-Bug-Id: 427566786\nChange-Id: I90a7ce705e532023f769f4c9f2231b3805c9a75b\nSigned-off-by: Konda Reddy Kachana \u003ckkachana@google.com\u003e\n"
    },
    {
      "commit": "030fa8b548cfc7a9f8056cb5e0e445ce8e69b040",
      "tree": "a93aec77ede989fb0ad1c53a8c82d17f33ba65a8",
      "parents": [
        "03d0a4b62edcc2df1411cf35e13aa720bcb3b7df"
      ],
      "author": {
        "name": "Tao Ke",
        "email": "taok@google.com",
        "time": "Thu May 29 21:44:33 2025 +0000"
      },
      "committer": {
        "name": "Tao Ke",
        "email": "taok@google.com",
        "time": "Fri May 30 21:10:34 2025 +0000"
      },
      "message": "[BB][ZB][dynamic bifurcation] Fetch bifurcation information from eeprom\n\nCurrent bifurcation generator rely on a bus:addr pair to read\neeprom.This causes problem, since different device could use different\naddresses.\n\nThis CL make it fetch the address dynamically from dbus FruDevice\nservice.\n1. get all the devices with\n   `xyz.openbmc_project.Inventory.Item.I2CDevice` interface.\n2. Read the bus and address from these devices.\n3. Over write the address of the bus it a new address found from\n   FruDevice.\n\nThis change is backward compatible with the existing PCIe config, where\nboth bus and addr is defined. It will only overwrite the address if\nanother address is found in FruDevice.\n\nTested:\n On heizo, thing still works.\n On BB/ZB, I temporarily update Odyssey\u0027s eeprom, and see bifurcation\n fetches the bifurcation properly. https://paste.googleplex.com/4543478413131776\n\nGoogle-Bug-Id: 361862066\nChange-Id: I6c195d39db1c748ed1d844c3e8475021753b726d\nSigned-off-by: Tao Ke \u003ctaok@google.com\u003e\n"
    },
    {
      "commit": "03d0a4b62edcc2df1411cf35e13aa720bcb3b7df",
      "tree": "bd63cec28fb614da2a367f2f7df6cbc499271e89",
      "parents": [
        "05b2b6b751445af019ebb6fda7e43f457c43b883"
      ],
      "author": {
        "name": "David Tang",
        "email": "davtang@google.com",
        "time": "Tue Nov 26 18:00:15 2024 +0000"
      },
      "committer": {
        "name": "David Tang",
        "email": "davtang@google.com",
        "time": "Mon Dec 02 23:29:58 2024 +0000"
      },
      "message": "[clang-tidy] Fix clang-tidy errors from g3/gsys config\n\nFix clang-tidy errors found here: https://paste.googleplex.com/6077531622211584\n\nTested: https://fusion2.corp.google.com/710c3f40-bcc1-4990-b23f-a0d9f7b84aa1\n\nGoogle-Bug-Id: 380138429\nChange-Id: I04c1fed2d1984d6aca2ab9206af278c266aabc7a\nSigned-off-by: David Tang \u003cdavtang@google.com\u003e\n"
    },
    {
      "commit": "05b2b6b751445af019ebb6fda7e43f457c43b883",
      "tree": "3e9581eb58e43c36441b474ba2e1df2ba0559310",
      "parents": [
        "48f9d728d5c71ef8617256ff638eb547784bb4a6"
      ],
      "author": {
        "name": "David Tang",
        "email": "davtang@google.com",
        "time": "Thu Oct 24 23:11:01 2024 +0000"
      },
      "committer": {
        "name": "David Tang",
        "email": "davtang@google.com",
        "time": "Sun Oct 27 16:49:35 2024 +0000"
      },
      "message": "[clang-tidy] Resolve clang-tidy errors and format\n\nFix clang-tidy errors:\nreadability-redundant-string-init\nmodernize-avoid-bind\n\nAlso run openbmc_build_scripts/scripts/format_code.sh to pass\npresubmit.\n\nGoogle-Bug-Id: 375055099\nChange-Id: I2a08ef23ebe21d879f90969eed57a1a2ed658a7f\nSigned-off-by: David Tang \u003cdavtang@google.com\u003e\n"
    },
    {
      "commit": "48f9d728d5c71ef8617256ff638eb547784bb4a6",
      "tree": "c8f7c95ebeca8d936e2ad489feb28be8c75869e5",
      "parents": [
        "f58827dda032bab107f8fe19e38911f76b5165ba"
      ],
      "author": {
        "name": "Vivekanand Veeracholan",
        "email": "vveerach@google.com",
        "time": "Tue Mar 19 11:03:53 2024 -0700"
      },
      "committer": {
        "name": "Vivekanand Veeracholan",
        "email": "vveerach@google.com",
        "time": "Fri Mar 22 14:30:00 2024 -0700"
      },
      "message": "Optimization: Use FruDeviceManager interface\n\n1. Use I2C detect logic to first check if FRU device exists before\n   deciding to wait for content availability.\n2. Instead of waiting EEPROM sysfs to be enumerated by Entity Manager,\n   use the GetRawFru method of xyz.openbmc_project.FruDeviceManager\n   interface of the Fru device daemon to get FRU contents.\n\nTested:\nWithout optimization:\nSystem with 6 slots and only 2 slots populated with device.\nTime using `$time pcie-bifucation`:\nreal    0m10.025s\nuser    0m0.019s\nsys     0m0.000s\n\nWith optimization:\nSame system config.\nTime using `$time pcie-bifucation`:\nreal    0m0.029s\nuser    0m0.018s\nsys     0m0.008s\n\nGoogle-Bug-Id: 328112981\nChange-Id: I7895a72fb0873bcbbff7dfdf33095253041af107\nSigned-off-by: Vivekanand Veeracholan \u003cvveerach@google.com\u003e\n"
    },
    {
      "commit": "f58827dda032bab107f8fe19e38911f76b5165ba",
      "tree": "f95e8c9af66396c7193b82dad1aa93731b355d33",
      "parents": [
        "99ed4b8a44f8b543f92784bd9a5490b4319e32a5"
      ],
      "author": {
        "name": "Vivekanand Veeracholan",
        "email": "vveerach@google.com",
        "time": "Tue Mar 19 10:02:59 2024 -0700"
      },
      "committer": {
        "name": "Vivekanand Veeracholan",
        "email": "vveerach@google.com",
        "time": "Wed Mar 20 15:16:03 2024 -0700"
      },
      "message": "Optimize execution: Use async threads for individual slots\n\nSince the slots can be individually detected and parsed for FRU\ncontents, they don\u0027t have to be accessed sequentially. We can run the\nbifurcation detection concurrently using threads.\n\nCreating async threads for each host and also async threads for each\nslot within the host.\n\nThe side effect of this change is only in logging. The logs are\ninterleaved.\n\nTested:\nBefore this optimization:\nSystem with 6 slots and only 2 slots populated with device.\nTime using `$time pcie-bifucation`:\nreal    0m40.051s\nuser    0m0.001s\nsys     0m0.015s\n\nContext: 2 slots returned immediately while 4 slots waited for eeprom\ncosting 40seconds.\n\nAfter optimization:\nSame system setup.\nTime using `$time pcie-bifucation`:\nreal    0m10.025s\nuser    0m0.019s\nsys     0m0.000s\n\nAll 6 slot processing ran in parallel. 4 slots waited for 10 seconds.\n\nGoogle-Bug-Id: 328112981\nChange-Id: Ic22d19b2c3bb6b51b6b50e4483e738ab6ad42587\nSigned-off-by: Vivekanand Veeracholan \u003cvveerach@google.com\u003e\n"
    },
    {
      "commit": "99ed4b8a44f8b543f92784bd9a5490b4319e32a5",
      "tree": "f96e9d4defb6a933c7a5103bff789dd487f98a9e",
      "parents": [
        "6c8dba28be904b8ca08f58e374002a68bb7eeea4"
      ],
      "author": {
        "name": "Yongbing Chen",
        "email": "yongbingchen@google.com",
        "time": "Sat Jan 13 01:06:36 2024 +0000"
      },
      "committer": {
        "name": "Yongbing Chen",
        "email": "yongbingchen@google.com",
        "time": "Fri Jan 26 22:01:36 2024 +0000"
      },
      "message": "pcie-bifurcation: wait for EEPROM file to be created\n\nProblem:\n  pcie-bifurcation relies on the existence of the EEPROM file to get the\n  correct FRU content, those EEPROM files are created by entity-manager\n  service, and when it will create them is hard to sync to this service\n  at systemd service config level.\n  Like in this case, even this service is set to start after the\n  entity-manager service, and it can be confirmed that it started after\n  the entity-manager service, the reading of the EEPROM still failed,\n  because they are created later in the entity-manager service.\n\n  ```sh\n  root@msee18-nfd11:~# journalctl -u xyz.openbmc_project.EntityManager.service\n  Jan 12 15:41:14 msee18-nfd11.prod.google.com systemd[1]: Started Entity Manager.\n  Jan 12 15:41:24 msee18-nfd11.prod.google.com entity-manager[1861]: Inventory Added: ioadapter_x8x8_1\n\n  root@msee18-nfd11:~# journalctl -u pcie-bifurcation\n  Jan 12 15:41:21 msee18-nfd11.prod.google.com systemd[1]: Starting PCIe Bifurcation service...\n  Jan 12 15:41:21 msee18-nfd11.prod.google.com pcie_bifurcation[1979]: Reading eeprom of 8 and with address 82\n  Jan 12 15:41:21 msee18-nfd11.prod.google.com pcie_bifurcation[1979]: Unable to open the eeprom file: /sys/bus/i2c/devices/8-0052/eeprom\n  ```\n\nSolution:\n  Add wait for creation logic in pcie-bifurcation service for those\n  EEPROM files, with timeout.\n\nTest:\n  Tested on PB BMC, the pcie-bifurcation service now will wait 10s if\n  the EEPROM file does not exist, and if file exists, it will read it\n  immediately.\n\n  ```sh\n  root@msee18-nfd11:~# journalctl -u pcie-bifurcation\n  Jan 12 17:36:43 msee18-nfd11.prod.google.com systemd[1]: Starting PCIe Bifurcation service...\n  Jan 12 17:36:43 msee18-nfd11.prod.google.com pcie_bifurcation[1839]: Reading eeprom of 5 and with address 82\n  Jan 12 17:36:43 msee18-nfd11.prod.google.com pcie_bifurcation[1839]: Wait for file create /sys/bus/i2c/devices/5-0052/eeprom\n  Jan 12 17:36:52 msee18-nfd11.prod.google.com pcie_bifurcation[1839]: Eeprom file not created: /sys/bus/i2c/devices/5-0052/eeprom\n  Jan 12 17:36:52 msee18-nfd11.prod.google.com pcie_bifurcation[1839]: Reading eeprom of 6 and with address 82\n  Jan 12 17:36:52 msee18-nfd11.prod.google.com pcie_bifurcation[1839]: Wait for file create /sys/bus/i2c/devices/6-0052/eeprom\n  Jan 12 17:37:02 msee18-nfd11.prod.google.com pcie_bifurcation[1839]: Eeprom file not created: /sys/bus/i2c/devices/6-0052/eeprom\n  Jan 12 17:37:02 msee18-nfd11.prod.google.com pcie_bifurcation[1839]: Reading eeprom of 8 and with address 82\n  Jan 12 17:37:02 msee18-nfd11.prod.google.com pcie_bifurcation[1839]: Invalid smbus/addr params in slotData\n  Jan 12 17:37:02 msee18-nfd11.prod.google.com pcie_bifurcation[1839]: Reading eeprom of 5 and with address 82\n  Jan 12 17:37:02 msee18-nfd11.prod.google.com pcie_bifurcation[1839]: Wait for file create /sys/bus/i2c/devices/5-0052/eeprom\n  Jan 12 17:37:12 msee18-nfd11.prod.google.com pcie_bifurcation[1839]: Eeprom file not created: /sys/bus/i2c/devices/5-0052/eeprom\n  Jan 12 17:37:12 msee18-nfd11.prod.google.com pcie_bifurcation[1839]: Reading eeprom of 6 and with address 82\n  Jan 12 17:37:12 msee18-nfd11.prod.google.com pcie_bifurcation[1839]: Wait for file create /sys/bus/i2c/devices/6-0052/eeprom\n  Jan 12 17:37:22 msee18-nfd11.prod.google.com pcie_bifurcation[1839]: Eeprom file not created: /sys/bus/i2c/devices/6-0052/eeprom\n  Jan 12 17:37:22 msee18-nfd11.prod.google.com pcie_bifurcation[1839]: Reading eeprom of 7 and with address 82\n  Jan 12 17:37:22 msee18-nfd11.prod.google.com pcie_bifurcation[1839]: Wait for file create /sys/bus/i2c/devices/7-0052/eeprom\n  Jan 12 17:37:32 msee18-nfd11.prod.google.com pcie_bifurcation[1839]: Eeprom file not created: /sys/bus/i2c/devices/7-0052/eeprom\n  Jan 12 17:37:32 msee18-nfd11.prod.google.com pcie_bifurcation[1839]: Invalid smbus/addr params in slotData\n  Jan 12 17:37:33 msee18-nfd11.prod.google.com pcie_bifurcation[1839]: Successfully populated pcie bifurcation data\n  Jan 12 17:37:38 msee18-nfd11.prod.google.com systemd[1]: Finished PCIe Bifurcation service.\n  ```\n\n%% original patch: 0001-pcie-bifurcation-wait-for-EEPROM-file-to-be-created.patch\nGoogle Id: 309873853\nSigned-off-by: Yongbing Chen \u003cyongbingchen@google.com\u003e\nChange-Id: I4daeb00532622000bb150f05400c9825734575b5\n"
    },
    {
      "commit": "6c8dba28be904b8ca08f58e374002a68bb7eeea4",
      "tree": "eee06447d0ef77235e4d648b260cd80745c41e26",
      "parents": [
        "00cdfc70086ceac8ed4430f2c33d5d31ebae5ea7"
      ],
      "author": {
        "name": "Vamsy Krishna Nooney",
        "email": "vamsykn@google.com",
        "time": "Tue Jan 02 14:16:43 2024 -0800"
      },
      "committer": {
        "name": "Vamsy Krishna Nooney",
        "email": "vamsykn@google.com",
        "time": "Tue Jan 02 14:16:55 2024 -0800"
      },
      "message": "Format the names of tests.\n\nTest names should be in the format mentioned in the below doc\ngo/unit-testing-practices?polyglot\u003dcpp#naming\n\nTesting:\nUnit tests successful with the change.\n\nChange-Id: If5cd18535bd2f9bd65c1a120b99f62b2d4922f9b\nSigned-off-by: Vamsy Krishna Nooney \u003cvamsykn@google.com\u003e\n"
    },
    {
      "commit": "00cdfc70086ceac8ed4430f2c33d5d31ebae5ea7",
      "tree": "a26ba3c1e88799fef96c55f1cb16e59bf454cfe4",
      "parents": [
        "d7c1d5571b19112e4f08bf25e8b7b3a8e270731d"
      ],
      "author": {
        "name": "Vamsy Krishna Nooney",
        "email": "vamsykn@google.com",
        "time": "Wed Dec 20 11:45:40 2023 -0800"
      },
      "committer": {
        "name": "Vamsy Krishna Nooney",
        "email": "vamsykn@google.com",
        "time": "Wed Dec 20 11:49:55 2023 -0800"
      },
      "message": "Use default_config to populate bifurcation data.\n\nAn array of config data needs to be used for pcie-bifurcation instead\nof just max_lines.\n\nTesting:\nAlong with the configuration file changes, verified that the expected\npcie-bifurcation data is populated correctly.\n\nroot@msah5-nfd11:/usr/share/pcie-bifurcation# hexdump /tmp/soc_firmware/host0/pcie.cfg\n0000000 0104 0210 0808 1001 0101\n000000a\nroot@msah5-nfd11:/usr/share/pcie-bifurcation# hexdump /tmp/soc_firmware/host1/pcie.cfg\n0000000 0104 0210 0808 1001 0101\n000000a\n\nChange-Id: I3226c0817eaaf7a310c52ba69cb80e27777d4130\nSigned-off-by: Vamsy Krishna Nooney \u003cvamsykn@google.com\u003e\n"
    },
    {
      "commit": "d7c1d5571b19112e4f08bf25e8b7b3a8e270731d",
      "tree": "565d91a2387a5fe89d20afa52fc08b135d31114b",
      "parents": [
        "6c73415a94a4486ca29453f8b3486b24a126c5be"
      ],
      "author": {
        "name": "Vamsy Krishna Nooney",
        "email": "vamsykn@google.com",
        "time": "Fri Dec 08 14:44:42 2023 -0800"
      },
      "committer": {
        "name": "Vamsy Krishna Nooney",
        "email": "vamsykn@google.com",
        "time": "Fri Dec 15 13:28:49 2023 -0800"
      },
      "message": "Make smbus and addr as optional params in slot_data\n\nPer b/309873853, a new 4th cluster is needed with default bifurcation to\n1x1.\n\nTesting:\nAdded a new unit test to validate this case.\n\nChange-Id: Ieaf348b37b31473e67374a1eac9f5d064d5e4ead\nSigned-off-by: Vamsy Krishna Nooney \u003cvamsykn@google.com\u003e\n"
    },
    {
      "commit": "6c73415a94a4486ca29453f8b3486b24a126c5be",
      "tree": "47a7178027f393ea14be27534b7b07b23b816fb6",
      "parents": [
        "620dd1d6c93454921c31c7c001c0f2c44478dd62"
      ],
      "author": {
        "name": "Vamsy Krishna Nooney",
        "email": "vamsykn@google.com",
        "time": "Fri Aug 18 10:37:09 2023 -0700"
      },
      "committer": {
        "name": "Vamsy Krishna Nooney",
        "email": "vamsykn@google.com",
        "time": "Fri Aug 18 13:44:03 2023 -0700"
      },
      "message": "Remove exception handling in main function.\n\n1. PCIeBifurcation::populatePCIeBifurcationData is not throwing\n   exception now. Avoid handling exception in main function and check\n   for SUCCESS/FAILURE.\n2. Update the sample config json file in the comment.\n\nTesting: Binary files are generated successfully with the change in\n         QEMU. Unit tests successful.\n\nChange-Id: I11864dc14c88f33be6c9311f3c07ed028365e41b\nSigned-off-by: Vamsy Krishna Nooney \u003cvamsykn@google.com\u003e\n"
    },
    {
      "commit": "620dd1d6c93454921c31c7c001c0f2c44478dd62",
      "tree": "a2f8604fff64fd8c6beb82978c8b2817b24c143e",
      "parents": [
        "f5beedfe4164afe3a9f362c32638a69e01c8e1b6"
      ],
      "author": {
        "name": "Vamsy Krishna Nooney",
        "email": "vamsykn@google.com",
        "time": "Thu Aug 17 17:03:22 2023 -0700"
      },
      "committer": {
        "name": "Vamsy Krishna Nooney",
        "email": "vamsykn@google.com",
        "time": "Thu Aug 17 17:03:29 2023 -0700"
      },
      "message": "Update the config file path to data location.\n\nChange the location of config file to data partition.\n\nTesting: Unit tests successful with the change.\n\nChange-Id: I702895240d06fd1e7cfd95c128426493ef5335ae\nSigned-off-by: Vamsy Krishna Nooney \u003cvamsykn@google.com\u003e\n"
    },
    {
      "commit": "f5beedfe4164afe3a9f362c32638a69e01c8e1b6",
      "tree": "f5d579aca70d483c3f7200af804b3e1157968397",
      "parents": [
        "11e2eaf805d2dba5192d288884758bd0f498e380"
      ],
      "author": {
        "name": "Vamsy Krishna Nooney",
        "email": "vamsykn@google.com",
        "time": "Tue Aug 15 12:08:33 2023 -0700"
      },
      "committer": {
        "name": "Vamsy Krishna Nooney",
        "email": "vamsykn@google.com",
        "time": "Wed Aug 16 16:46:09 2023 -0700"
      },
      "message": "Cleanup dependencies from meson files.\n\nFound that some dependencies in meson files are not needed. Cleaning\nthem.\n\nTesting: Verified that ninja -C build and meson test are passing.\nAlso, verified that bitbake obmc-phosphor-image for athena machine is\nsuccessful when pcie_bifurcation changes are included.\n\nChange-Id: Id05ba913bcaa17f168692280879195a9731f4511\nSigned-off-by: Vamsy Krishna Nooney \u003cvamsykn@google.com\u003e\n"
    },
    {
      "commit": "11e2eaf805d2dba5192d288884758bd0f498e380",
      "tree": "a82379641b7012e8342fe8fddb9daad8020f5fc3",
      "parents": [
        "c793e13161d9ec128fe447945fbf4a1e8d82a84a"
      ],
      "author": {
        "name": "Vamsy Nooney",
        "email": "vamsyknooney@gmail.com",
        "time": "Fri Aug 04 13:19:14 2023 -0700"
      },
      "committer": {
        "name": "Vamsy Nooney",
        "email": "vamsyknooney@gmail.com",
        "time": "Tue Aug 08 18:24:28 2023 -0700"
      },
      "message": "Write bifurcation data to the given output path.\n\nThis review contains below changes-\n1. Get the bifurcation data from already parsed string.\n2. Write the bifurcation data for each CPU in the agreed format.\n3. If reading eeprom data fails due to any reason. Then use max_lines\n   value of that slot if available.\n4. Include new line at end of each file.\n5. Nit comments from previous review.\n6. Unit tests.\n\nTesting: All unit tests are successful. Able to verify that a\nbifurcation file is created on an izumi machine with the change.\n\nChange-Id: I458c286e989fe949c5fd8bab528324458409293a\nSigned-off-by: Vamsy Nooney \u003cvamsyknooney@gmail.com\u003e\n"
    },
    {
      "commit": "c793e13161d9ec128fe447945fbf4a1e8d82a84a",
      "tree": "954e88eed318f738698ae011c4b5b6c83899668c",
      "parents": [
        "7e5c5bdf10497082e772ec9e4ac732224f8c05a9"
      ],
      "author": {
        "name": "Vamsy Nooney",
        "email": "vamsyknooney@gmail.com",
        "time": "Thu Aug 03 11:02:10 2023 -0700"
      },
      "committer": {
        "name": "Vamsy Nooney",
        "email": "vamsyknooney@gmail.com",
        "time": "Thu Aug 03 19:30:39 2023 -0700"
      },
      "message": "Read eeprom for pcie_bifurcation info.\n\nIntroduce new APIs to read PCIe Bifurcation info from\neeprom.\nIntroduced an API which constructs the eeprom path\nto read from. Mocked the same API for testing.\n\nTesting: Introduced new unit tests to validate the\nnew functionality. Tested the logic on a Izumi\nmachine and verified that eeprom is read successfully\nand we got the bifurcation info correctly.\n\nChange-Id: I3ac8aa031348fe49f6daeb6ac48a11f6cac48790\nSigned-off-by: Vamsy Nooney \u003cvamsyknooney@gmail.com\u003e\n"
    },
    {
      "commit": "7e5c5bdf10497082e772ec9e4ac732224f8c05a9",
      "tree": "1d19e8b15c3fbdadb05b177f28106c59c43bc37e",
      "parents": [
        "ffc4ce719b1ef21e935446d646dc62aa55722a40"
      ],
      "author": {
        "name": "Vamsy Nooney",
        "email": "vamsyknooney@gmail.com",
        "time": "Mon Jul 31 16:02:14 2023 -0700"
      },
      "committer": {
        "name": "Vamsy Nooney",
        "email": "vamsyknooney@gmail.com",
        "time": "Tue Aug 01 10:20:47 2023 -0700"
      },
      "message": "Addressed comments received in previous review.\n\nCommit includes-\n1. Use find instead of at API ofnlohmann::json.\n2. Use \"const\" qualifier for input parameter of\n   getSMBusAddrPairsFromSlotData function.\n3. Use consexpr qualifier for configFilePath.\n4. Avoid using exceptions and return bool instead.\n\nChange-Id: Idd3ddd4b088de369c5b4002276961ca61b45bec9\nSigned-off-by: Vamsy Nooney \u003cvamsyknooney@gmail.com\u003e\n"
    },
    {
      "commit": "ffc4ce719b1ef21e935446d646dc62aa55722a40",
      "tree": "e88e73d1228c6ad3509553bb69eaf8e0ae07c01b",
      "parents": [
        "9ca2bc794c66791c957b454ce4fb492d234c91db"
      ],
      "author": {
        "name": "Vamsy Nooney",
        "email": "vamsyknooney@gmail.com",
        "time": "Thu Jul 06 10:44:42 2023 -0700"
      },
      "committer": {
        "name": "Vamsy Nooney",
        "email": "vamsyknooney@gmail.com",
        "time": "Mon Jul 31 13:56:51 2023 -0700"
      },
      "message": "Parse and validate config file data.\n\nIntroduce new APIs to read config data from json\nfile. Verify that the data is in expected format.\n\nTesting: Unit tests successful. Same logic worked\nas expected during prototyping.\n\nChange-Id: I93e089e08566684a496ee4ac8807b84f7e2f1750\nSigned-off-by: Vamsy Nooney \u003cvamsyknooney@gmail.com\u003e\n"
    },
    {
      "commit": "9ca2bc794c66791c957b454ce4fb492d234c91db",
      "tree": "0aece17f4fb9c63477609fac593d02856cd6ac75",
      "parents": [
        "5f5ede8beb5e2a87df35c1d6eda9734c215775b7"
      ],
      "author": {
        "name": "Vamsy Nooney",
        "email": "vamsyknooney@gmail.com",
        "time": "Fri Jun 30 10:30:21 2023 -0700"
      },
      "committer": {
        "name": "Vamsy Nooney",
        "email": "vamsyknooney@gmail.com",
        "time": "Wed Jul 05 14:42:19 2023 -0700"
      },
      "message": "Get smbus and address pair from slot_data.\n\nAdd an API to get the list of {smbus, address} pairs from\nslot_data of pcie configuration json.\n\nTesting: Unit tests successful. Same logic worked well when\nprototyping.\n\nChange-Id: I1c3efb4bd6aa042b6ce69eafe4865c97e6eb3361\nSigned-off-by: Vamsy Nooney \u003cvamsyknooney@gmail.com\u003e\n"
    },
    {
      "commit": "5f5ede8beb5e2a87df35c1d6eda9734c215775b7",
      "tree": "4e999066ac4ccff43aa0b14e9148ae38680ebaf4",
      "parents": [
        "7dd3de537f24649b2c3a466117e56dd792177b3a"
      ],
      "author": {
        "name": "Vamsy Nooney",
        "email": "vamsyknooney@gmail.com",
        "time": "Tue Jun 27 19:36:57 2023 -0700"
      },
      "committer": {
        "name": "Vamsy Nooney",
        "email": "vamsyknooney@gmail.com",
        "time": "Wed Jun 28 17:28:12 2023 -0700"
      },
      "message": "Format meson files for readability\n\nFormat both the source and test meson.build files to be more readable.\nInclude a placeholder main function for ninja to work.\n\nTesting: Verified that build and unit tests are is successful with the\nchange.\n                meson setup build\n                meson test -C build\n\nChange-Id: I622dcc22dcb40473cd180ab15eee995f49bfd456\nSigned-off-by: Vamsy Nooney \u003cvamsyknooney@gmail.com\u003e\n"
    },
    {
      "commit": "7dd3de537f24649b2c3a466117e56dd792177b3a",
      "tree": "c45aa43dbb4099b35d9983b05c9737011c7405df",
      "parents": [
        "e519d20ecf6cbed5073b5bc977884bb498a8852a"
      ],
      "author": {
        "name": "Vamsy Nooney",
        "email": "vamsyknooney@gmail.com",
        "time": "Mon Jun 26 14:40:30 2023 -0700"
      },
      "committer": {
        "name": "Vamsy Nooney",
        "email": "vamsyknooney@gmail.com",
        "time": "Tue Jun 27 11:33:47 2023 -0700"
      },
      "message": "pciebifurcation: Include required fru_util functions from entity-manager.\n\nThis change is taken from entity-manager and\nslightly modified as needed.\nhttps://github.com/openbmc/entity-manager\n\nTested: Unit tests are successful with the change.\nAlso, hacked the code to use the readFRUContent\nand formatIPMIFRU functions and verified that the\npcie contents is successfully read and parsed\ncorrectly.\n\nChange-Id: Iff280530e61da08797efd63da79bbb2661d42e55\nSigned-off-by: Vamsy Nooney \u003cvamsyknooney@gmail.com\u003e\n"
    },
    {
      "commit": "e519d20ecf6cbed5073b5bc977884bb498a8852a",
      "tree": "3f7f5c4523556faea4e269aabc8622936855ece9",
      "parents": [
        "34763e4ea289d0c5a2920a30d5af1215011d4e0b"
      ],
      "author": {
        "name": "Vamsy Nooney",
        "email": "vamsyknooney@gmail.com",
        "time": "Wed Jun 21 15:58:38 2023 -0700"
      },
      "committer": {
        "name": "Vamsy Nooney",
        "email": "vamsyknooney@gmail.com",
        "time": "Fri Jun 23 10:56:54 2023 -0700"
      },
      "message": "pciebifurcation: Include API to read fru.\n\nThe change is directly taken from Entity-manager.\nhttps://github.com/openbmc/entity-manager/blob/master/src/fru_reader.cpp\n\nFurther changes needed will be written on top of this.\n\nTested: Unit tests are successful with the change.\nChange-Id: I4ee2e0485c888fd89128786895e6c0da4dd84c39\nSigned-off-by: Vamsy Nooney \u003cvamsyknooney@gmail.com\u003e\n"
    },
    {
      "commit": "34763e4ea289d0c5a2920a30d5af1215011d4e0b",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [],
      "author": {
        "name": "Nan Zhou",
        "email": "nanzhou@google.com",
        "time": "Thu May 25 22:28:48 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 25 22:28:48 2023 +0000"
      },
      "message": "Initial empty repository\n"
    }
  ]
}
