)]}'
{
  "log": [
    {
      "commit": "8fcd351a936ff3b63571a6f6776f5cfc3f2b8e3e",
      "tree": "a378003d2ca28d5a54b31aeaa08ad8db074a371d",
      "parents": [
        "ceb5bc33b315ff7209a584afed4fb13aa5dc97c1"
      ],
      "author": {
        "name": "Daniel Verkamp",
        "email": "daniel@drv.nu",
        "time": "Wed Apr 08 23:53:19 2026 -0700"
      },
      "committer": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Wed Apr 22 10:46:38 2026 +0200"
      },
      "message": "stdvga: report 6-bit DAC width\n\nThe stdvga hardware doesn\u0027t have a mechanism to change the DAC width,\nbut we can still implement the VBE Set/Get DAC Palette Format function\nas specified: allow attempts to set the DAC width to anything greater\nthan or equal to 6 (which reports success but is otherwise a no-op), and\nalways return 6 when the DAC width is queried.\n\nSigned-off-by: Daniel Verkamp \u003cdaniel@drv.nu\u003e\nMessage-ID: \u003c20260409065319.3438719-2-daniel@drv.nu\u003e\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\n"
    },
    {
      "commit": "ceb5bc33b315ff7209a584afed4fb13aa5dc97c1",
      "tree": "f1da4f086895953d74938898c141dbd863092092",
      "parents": [
        "12d15b96358b141642c093c3169a35edf0b0753d"
      ],
      "author": {
        "name": "Daniel Verkamp",
        "email": "daniel@drv.nu",
        "time": "Wed Apr 08 23:53:18 2026 -0700"
      },
      "committer": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Wed Apr 22 10:46:38 2026 +0200"
      },
      "message": "bochsvga: use closest value in set_dacformat\n\nPer the VBE 2.0 and 3.0 specs, for VBE function 08h (Set/Get DAC Palette\nformat), if the caller requests a bits per color value that the hardware\ndoes not support, then the next lower value supported by the hardware is\nused. However, bochsvga_set_dacformat() was checking for exact matches\nof either 6 or 8 bits per color channel. Adjust the checks to allow\nlarger values, clamping to either 8 or 6, and still indicating failure\nif a value lower than 6 is requested, as there are no lower supported\nvalues.\n\nSigned-off-by: Daniel Verkamp \u003cdaniel@drv.nu\u003e\nMessage-ID: \u003c20260409065319.3438719-1-daniel@drv.nu\u003e\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\n"
    },
    {
      "commit": "12d15b96358b141642c093c3169a35edf0b0753d",
      "tree": "f5eaf7ccbb4a988f4925f2f9370cb27a7a335e08",
      "parents": [
        "106549a4362f6b499da522f8f8f5ed9f98388f87"
      ],
      "author": {
        "name": "Daniel Verkamp",
        "email": "daniel@drv.nu",
        "time": "Wed Apr 08 23:55:37 2026 -0700"
      },
      "committer": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Thu Apr 09 15:56:05 2026 +0200"
      },
      "message": "README: update developer documentation link\n\nThe old URL doesn\u0027t work anymore; point it at the updated path.\n\nSigned-off-by: Daniel Verkamp \u003cdaniel@drv.nu\u003e\nReviewed-by: Paul Menzel \u003cpmenzel@molgen.mpg.de\u003e\nReviewed-by: Philippe Mathieu-Daudé \u003cphilmd@linaro.org\u003e\nTested-by: Philippe Mathieu-Daudé \u003cphilmd@linaro.org\u003e\nMessage-ID: \u003c20260409065537.3440067-1-daniel@drv.nu\u003e\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\n"
    },
    {
      "commit": "106549a4362f6b499da522f8f8f5ed9f98388f87",
      "tree": "7e5b77b57ef4d8708a0e599e17cb2340d766c2a4",
      "parents": [
        "a5224f56b968d17204a42d288b58fcf88989e3f8"
      ],
      "author": {
        "name": "Jiaxun Yang",
        "email": "jiaxun.yang@flygoat.com",
        "time": "Tue Sep 09 04:18:02 2025 +0000"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Tue Jan 20 12:30:51 2026 -0500"
      },
      "message": "usb-ohci: Fix logical condition in start_ohci function\n\nCorrect the logical condition in the start_ohci function to ensure\nproper evaluation of the status variable.\n\nFix warning:\n\n./src/hw/usb-ohci.c:192:13: warning: logical not is only applied to the left hand side of this bitwise operator [-Wlogical-not-parentheses]\n  192 |         if (! status \u0026 OHCI_HCR)\n\nSigned-off-by: Jiaxun Yang \u003cjiaxun.yang@flygoat.com\u003e\nReviewed-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\n"
    },
    {
      "commit": "a5224f56b968d17204a42d288b58fcf88989e3f8",
      "tree": "6dfbc81b9178ce5d56f40ca58ac8fcae708b0e50",
      "parents": [
        "b1e207429e93213b3476ac979bca77aa209573bd"
      ],
      "author": {
        "name": "Jiaxun Yang",
        "email": "jiaxun.yang@flygoat.com",
        "time": "Tue Sep 09 04:18:01 2025 +0000"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Tue Jan 20 12:30:13 2026 -0500"
      },
      "message": "virtio-blk: Fix indentation for vring_get_buf call\n\nAdjust the indentation of the vring_get_buf function call to\nmaintain consistency with surrounding code.\n\nFix warning:\n\nIn file included from out/ccode32flat.o.tmp.c:83:\n./src/hw/virtio-blk.c:56:9: warning: misleading indentation; statement is not part of the previous \u0027while\u0027 [-Wmisleading-indentation]\n   56 |         vring_get_buf(vq, NULL);\n\nSigned-off-by: Jiaxun Yang \u003cjiaxun.yang@flygoat.com\u003e\nReviewed-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\n"
    },
    {
      "commit": "b1e207429e93213b3476ac979bca77aa209573bd",
      "tree": "03cbe0d51b591e417a50207a388e0bfe4e1cc5d1",
      "parents": [
        "0026c353eb4e220af29750fcf000d48faf8d4ab3"
      ],
      "author": {
        "name": "Jiaxun Yang",
        "email": "jiaxun.yang@flygoat.com",
        "time": "Tue Sep 09 04:17:54 2025 +0000"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Tue Jan 20 12:29:53 2026 -0500"
      },
      "message": "Remove remaining ACPI tooling bits\n\nBuiltin ACPI support was removed before. Now clean remaining\ntooling bits.\n\nFixes: 35aa9a72c279 (\"drop obsolete acpi table code\")\nSigned-off-by: Jiaxun Yang \u003cjiaxun.yang@flygoat.com\u003e\nReviewed-by: Philippe Mathieu-Daudé \u003cphilmd@linaro.org\u003e\nReviewed-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\n"
    },
    {
      "commit": "0026c353eb4e220af29750fcf000d48faf8d4ab3",
      "tree": "45eac6147fcc214a7abdb9975c5d40c105737dc0",
      "parents": [
        "3a05f4fa3d38a4cfbdbd67683f6614d0df5bb015"
      ],
      "author": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Sun Jul 27 19:43:36 2025 -0400"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Wed Aug 06 19:15:32 2025 -0400"
      },
      "message": "docs: Add mkdocs build tools for building the seabios.org website\n\nSupport converting the existing SeaBIOS documentation into a website\nusing the mkdocs tool.\n\nSigned-off-by: Kevin O\u0027Connor \u003ckevin@koconnor.net\u003e\n"
    },
    {
      "commit": "3a05f4fa3d38a4cfbdbd67683f6614d0df5bb015",
      "tree": "75199928b9c545fd86167d84ed503256b70e8435",
      "parents": [
        "a78f43da010cfde31c9c99825953143637aeaf16"
      ],
      "author": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Sun Jul 27 19:28:32 2025 -0400"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Sun Jul 27 19:42:05 2025 -0400"
      },
      "message": "docs: Rename docs/SeaBIOS.md to docs/index.md\n\nSigned-off-by: Kevin O\u0027Connor \u003ckevin@koconnor.net\u003e\n"
    },
    {
      "commit": "a78f43da010cfde31c9c99825953143637aeaf16",
      "tree": "a55ccc9c221d1e6afd37977da475d6342ff0bb64",
      "parents": [
        "b686f4600792c504f01929f761be473e298de33d"
      ],
      "author": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Sun Jul 27 19:36:02 2025 -0400"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Sun Jul 27 19:40:42 2025 -0400"
      },
      "message": "docs: Fix document links\n\nUse the full filename (eg, \"Mailinglist.md\") in markdown links.\n\nSigned-off-by: Kevin O\u0027Connor \u003ckevin@koconnor.net\u003e\n"
    },
    {
      "commit": "b686f4600792c504f01929f761be473e298de33d",
      "tree": "87d2e71209eeafee4888c28b154df00063d6541c",
      "parents": [
        "b52ca86e094d19b58e2304417787e96b940e39c6"
      ],
      "author": {
        "name": "Michał Żygowski",
        "email": "michal.zygowski@3mdeb.com",
        "time": "Sat Jun 28 07:49:13 2025 +0200"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Tue Jul 01 17:13:11 2025 -0400"
      },
      "message": "sercon: Fix keycodes for F11 and F12\n\nFix what happens when F11/F12 is sent via serial port. The existing code\nalready correctly detects the byte sequence that is sent on the serial\nconnection, however it translates it to the incorrect keycode. The\ntermseq table must map to *DOS scan codes*.\n\nThe incorrect value matches *PS2 set1 scan codes* for F11 and F12, so\nfix the implementation mistake.\n\nThe patch is tested by Andrei on real hardware.\n\nSigned-off-by: Michał Żygowski \u003cmichal.zygowski@3mdeb.com\u003e\nCc: Andrei Purdea \u003cseabios@purdea.ro\u003e\n[Add and message description by Andrei Purdea \u003cseabios@purdea.ro\u003e]\nLink: https://mail.coreboot.org/archives/list/seabios@seabios.org/thread/V2KN2YKCL5J2JL4IMJKVTVE6YALIIC73/\nLink: https://github.com/Dasharo/SeaBIOS/commit/0f4530859f11b3235b7d6163388f19577bdc6e1e\nFixes: d6728f30 (\"add serial console support\")\nSigned-off-by: Paul Menzel \u003cpmenzel@molgen.mpg.de\u003e\n"
    },
    {
      "commit": "b52ca86e094d19b58e2304417787e96b940e39c6",
      "tree": "00ca2288a3318f220d235c2e2cb9ca4f6f430874",
      "parents": [
        "a6c8e8bbdf24ece39e4f55c8ab464d28e5e44745"
      ],
      "author": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Tue Jun 10 13:57:39 2025 -0400"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Tue Jun 10 14:04:50 2025 -0400"
      },
      "message": "docs: Note v1.17.0 release\n\nSigned-off-by: Kevin O\u0027Connor \u003ckevin@koconnor.net\u003e\n"
    },
    {
      "commit": "a6c8e8bbdf24ece39e4f55c8ab464d28e5e44745",
      "tree": "2af63ab3f0564407f768de701f95ead6241dafa7",
      "parents": [
        "9029a010ec413e6c3c0eb52c29c252a5b9a9f774"
      ],
      "author": {
        "name": "Jiaxun Yang",
        "email": "jiaxun.yang@flygoat.com",
        "time": "Wed May 28 12:02:49 2025 +0100"
      },
      "committer": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Mon Jun 02 11:20:05 2025 +0200"
      },
      "message": "ahci: Fix hangs due to controller reset\n\nAfter adding AHCI controller reset functionality there are multiple\nreports on AHCI booting regression.\n\nAs per my experiments on various machines, to reset controller\nproperly it is necessary to poll HOST_CTL_RESET bit until it\u0027s\nclear. It is also required to read back HOST_CTL after changing\nHOST_CTL_AHCI_EN bits to ensure the controller has accepted write.\n\nTested on ASMedia ASM1061, Intel H61 native SATA and AMD Phoenix\nnative SATA.\n\nLink: https://mail.coreboot.org/hyperkitty/list/seabios@seabios.org/thread/RDNRKWBN4N5XQX2TQMM5P4WZ2OOPPNAM/\nLink: https://github.com/FlyGoat/csmwrap/issues/14\nFixes: 8863cbbd15a7 (\"ahci: add controller reset\")\nSigned-off-by: Jiaxun Yang \u003cjiaxun.yang@flygoat.com\u003e\nAcked-by: Paul Menzel \u003cpmenzel@molgen.mpg.de\u003e\nMessage-ID: \u003c20250528-ahci-v2-1-9d7310217ca2@flygoat.com\u003e\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\n"
    },
    {
      "commit": "9029a010ec413e6c3c0eb52c29c252a5b9a9f774",
      "tree": "49ecf2802818458f4c6ffe74941ecec495721e3e",
      "parents": [
        "8863cbbd15a73b03153553c562f5b1fb939ad4d7"
      ],
      "author": {
        "name": "nikolar via SeaBIOS",
        "email": "seabios@seabios.org",
        "time": "Tue Mar 04 14:09:49 2025 +0100"
      },
      "committer": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Mon Mar 10 16:03:51 2025 +0100"
      },
      "message": "kconfig: fix the check-lxdialog.sh to work with gcc 14+\n\nMessage-ID: \u003c20250304130949.6915-1-nikola@radojevic.rs\u003e\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\n"
    },
    {
      "commit": "8863cbbd15a73b03153553c562f5b1fb939ad4d7",
      "tree": "e7902c06b576f94834ca8819f7365bf290cdba92",
      "parents": [
        "df9dd418b3b0e586cb208125094620fc7f90f23d"
      ],
      "author": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Thu Feb 06 12:10:21 2025 +0100"
      },
      "committer": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Mon Mar 10 16:02:13 2025 +0100"
      },
      "message": "ahci: add controller reset\n\nBring the ahci controller into a known state as very first action.\nThis makes the ahci driver work when seabios runs as CSM.\n\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\n"
    },
    {
      "commit": "df9dd418b3b0e586cb208125094620fc7f90f23d",
      "tree": "ba5a77d751392b83186212ab7177cc940edf2faf",
      "parents": [
        "a4fc1845b43687fe01c6f53fca9d7c1ac1b725d7"
      ],
      "author": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Thu Nov 21 16:35:41 2024 +0100"
      },
      "committer": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Thu Jan 16 09:48:27 2025 +0100"
      },
      "message": "update pci_pad_mem64 handling\n\nAdd a new possible state: \u0027-1\u0027 means \u0027use default\u0027.  In that case\nseabios continue to use the current heuristic:  In case memory\nabove 4G is present enable 64-bit guest friendly configuration.\n\nThis allows forcing the one or the other behavior by setting the\npci_pad_mem64 variable beforehand (which is done by another patch).\n\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\n"
    },
    {
      "commit": "a4fc1845b43687fe01c6f53fca9d7c1ac1b725d7",
      "tree": "1ca4df686308c0d7520d64e8359765194cf829f4",
      "parents": [
        "a2725e2814f08be56ac3c1f77ca8cb3ea6d175fe"
      ],
      "author": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Fri Nov 22 15:16:32 2024 +0100"
      },
      "committer": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Thu Jan 16 09:48:27 2025 +0100"
      },
      "message": "add romfile_loadbool()\n\nTranslates strings in fw_cfg files into boolean values.\n\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\n"
    },
    {
      "commit": "a2725e2814f08be56ac3c1f77ca8cb3ea6d175fe",
      "tree": "d8c9afa3bdaa91096cb3fba9fc58026ff7dd961d",
      "parents": [
        "35aa9a72c279fb2ed3a4917eef8b7155bb7de84c"
      ],
      "author": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Wed Nov 20 12:29:37 2024 +0100"
      },
      "committer": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Thu Jan 16 09:44:08 2025 +0100"
      },
      "message": "drop acpi tables and hex includes\n\nThey are not used any more.\n\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\n"
    },
    {
      "commit": "35aa9a72c279fb2ed3a4917eef8b7155bb7de84c",
      "tree": "e348a8f1a8a82f3bd99785332575f7081f401b13",
      "parents": [
        "1b598a1d79dcb9261295fd5b1aa2b65d1348c0c1"
      ],
      "author": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Wed Nov 20 12:42:13 2024 +0100"
      },
      "committer": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Thu Jan 16 09:44:08 2025 +0100"
      },
      "message": "drop obsolete acpi table code\n\nIt\u0027s there for backward compatibility with qemu 1.6 and older.  This\nrelease is older than a decade.  Even qemu itself has removed backward\ncompatibility support (i.e. machine types) for qemu versions that old.\n\nIt should be safe to remove this code now.\n\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\n"
    },
    {
      "commit": "1b598a1d79dcb9261295fd5b1aa2b65d1348c0c1",
      "tree": "ea23c7dcb9e1849902ceaafa5511a30d0d8d8dbd",
      "parents": [
        "1602647f1be24fe63d11138d802e735c8e674e63"
      ],
      "author": {
        "name": "Daniel Khodabakhsh",
        "email": "d.khodabakhsh@gmail.com",
        "time": "Thu Nov 07 10:34:47 2024 -0800"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Tue Jan 07 15:17:22 2025 -0500"
      },
      "message": "usb-hid: Support multiple USB HID devices by storing them in a linked list\n\nSigned-off-by: Daniel Khodabakhsh \u003cd.khodabakhsh@gmail.com\u003e\n"
    },
    {
      "commit": "1602647f1be24fe63d11138d802e735c8e674e63",
      "tree": "9953c37f600324d4d5b83635a86871b14c1de63a",
      "parents": [
        "62a1429ec1ec67f14c039d97627a6a7ef70a983c"
      ],
      "author": {
        "name": "Daniel Khodabakhsh",
        "email": "d.khodabakhsh@gmail.com",
        "time": "Thu Nov 07 18:46:16 2024 -0800"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Tue Dec 24 18:47:44 2024 -0500"
      },
      "message": "boot: Force display of the boot menu when boot-menu-wait is a negative number\n\nSigned-off-by: Daniel Khodabakhsh \u003cd.khodabakhsh@gmail.com\u003e\n"
    },
    {
      "commit": "62a1429ec1ec67f14c039d97627a6a7ef70a983c",
      "tree": "7ef52dd2de58ffa070bf3abea1ce8b4ac8b45a58",
      "parents": [
        "2424e4c04aa30d90e85073ea41d18a7845460783"
      ],
      "author": {
        "name": "Steven Price",
        "email": "steven@ecrips.co.uk",
        "time": "Sat Oct 12 11:34:34 2024 +0000"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Fri Oct 25 11:55:25 2024 -0400"
      },
      "message": "vgabios: Fix generating modes list for static_functionality\n\nAccessing the data in the vga_modes array requires using GET_GLOBAL(),\nand the bits set in the bit array should correspond to the modes, not\nthe indexes in vga_modes.\n\nWith this change the modes calculated matches the expected value of\n0xfe0ff.\n\nFixes: 12900b1a2431 (\"vgabios: Fill in available legacy modes in video_func_static at runtime\")\nSigned-off-by: Steven Price \u003csteven@ecrips.co.uk\u003e\n"
    },
    {
      "commit": "2424e4c04aa30d90e85073ea41d18a7845460783",
      "tree": "900b7325d6c8880a7e350cf3537c23cc4bec8d7a",
      "parents": [
        "ec0bc256ae0ea08a32d3e854e329cfbc141f07ad"
      ],
      "author": {
        "name": "Mark Cave-Ayland",
        "email": "mark.cave-ayland@ilande.co.uk",
        "time": "Thu Aug 29 12:58:46 2024 +0100"
      },
      "committer": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Wed Sep 04 12:05:56 2024 +0200"
      },
      "message": "esp-scsi: indicate acceptance of MESSAGE IN phase data\n\nWhen the target has sent its MESSAGE IN phase data to the initiator, it waits\nfor the initiator to release the ACK signal before disconnecting from the bus.\n\nSend a MSG_ACC command to the ESP so that the initiator releases the ACK signal\nto allow the target to disconnect, and also return the ASC back to the\ndisconnected state.\n\nSigned-off-by: Mark Cave-Ayland \u003cmark.cave-ayland@ilande.co.uk\u003e\nMessage-ID: \u003c20240829115846.954993-1-mark.cave-ayland@ilande.co.uk\u003e\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\n"
    },
    {
      "commit": "ec0bc256ae0ea08a32d3e854e329cfbc141f07ad",
      "tree": "d9836ac25a0e56ad336c52cab5fc03188135b79a",
      "parents": [
        "e5f2e4c69643bc3cd385306a9e5d29e11578148c"
      ],
      "author": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Mon Jun 24 10:44:09 2024 +0200"
      },
      "committer": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Mon Jun 24 10:57:31 2024 +0200"
      },
      "message": "limit address space used for pci devices, part two\n\nThis patch changes the logic added by commit a6ed6b701f0a (\"limit\naddress space used for pci devices.\") a bit.  Further testing showed\nthat the limit of 46 phys-bits applies to x86_64 kernels only, for i386\nkernels the limit is 44.  So change the limit from 46 to 44 for better\ncompatibility with i386 guests.\n\nAlso add one more condition to refine the configuration heuristic:\nApply the limit only in case the guest has less than 1 TB of memory\ninstalled, so huge guests run without address space limits.\n\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\n"
    },
    {
      "commit": "e5f2e4c69643bc3cd385306a9e5d29e11578148c",
      "tree": "e8253d6d8af8c9ad51a118d8cf1709150c593754",
      "parents": [
        "731c88d503ef07a06a03dd17a6e9163941b329da"
      ],
      "author": {
        "name": "Daniil Tatianin",
        "email": "d-tatianin@yandex-team.ru",
        "time": "Thu Apr 11 22:51:35 2024 +0300"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Mon Apr 15 09:21:37 2024 -0400"
      },
      "message": "pciinit: don\u0027t misalign large BARs\n\nPreviously we would unconditionally lower the alignment for large BARs\nin case their alignment was greater than \"pci_mem64_top \u003e\u003e 11\", this\nwould make it impossible to use these devices by the kernel:\n    [   13.821108] pci 0000:9c:00.0: can\u0027t claim BAR 1 [mem 0x66000000000-0x67fffffffff 64bit pref]: no compatible bridge window\n    [   13.823492] pci 0000:9d:00.0: can\u0027t claim BAR 1 [mem 0x64000000000-0x65fffffffff 64bit pref]: no compatible bridge window\n    [   13.824218] pci 0000:9e:00.0: can\u0027t claim BAR 1 [mem 0x62000000000-0x63fffffffff 64bit pref]: no compatible bridge window\n    [   13.828322] pci 0000:8a:00.0: can\u0027t claim BAR 1 [mem 0x6e000000000-0x6ffffffffff 64bit pref]: no compatible bridge window\n    [   13.830691] pci 0000:8b:00.0: can\u0027t claim BAR 1 [mem 0x6c000000000-0x6dfffffffff 64bit pref]: no compatible bridge window\n    [   13.832218] pci 0000:8c:00.0: can\u0027t claim BAR 1 [mem 0x6a000000000-0x6bfffffffff 64bit pref]: no compatible bridge window\n\nFix it by only overwriting the alignment in case it\u0027s actually greater\nthan the desired by the BAR window.\n\nFixes: 96a8d130a8c (\"be less conservative with the 64bit pci io window\")\nSigned-off-by: Daniil Tatianin \u003cd-tatianin@yandex-team.ru\u003e\nReviewed-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\nReviewed-by: Philippe Mathieu-Daudé \u003cphilmd@linaro.org\u003e\n"
    },
    {
      "commit": "731c88d503ef07a06a03dd17a6e9163941b329da",
      "tree": "d5be203fa866356a69b9d6cad6fc69426fa9ece3",
      "parents": [
        "c5a361c09a19e3b1a83557b01f11f04b27181a11"
      ],
      "author": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Mon Apr 01 13:44:58 2024 -0400"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Sat Apr 13 13:19:56 2024 -0400"
      },
      "message": "stdvgaio: Only read/write one color palette entry at a time\n\nIntroduce stdvga_dac_read_many() and stdvga_dac_write_many() for\nwriting multiple dac palette entries.  Convert the stdvga_dac_read()\nand stdvga_dac_write() low-level IO access functions in stdvgaio.c to\naccess just one color palette entry.\n\nSigned-off-by: Kevin O\u0027Connor \u003ckevin@koconnor.net\u003e\n"
    },
    {
      "commit": "c5a361c09a19e3b1a83557b01f11f04b27181a11",
      "tree": "a63b9a6f2f755ae233e9092615e43b122937fdf2",
      "parents": [
        "22c91412600b7fabd75ef68d2d4d3e63e9e27f9f"
      ],
      "author": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Tue Apr 02 13:07:58 2024 -0400"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Fri Apr 05 17:59:49 2024 -0400"
      },
      "message": "stdvga: Add stdvga_set_vertical_size() helper function\n\nAdd helper function and update the bochsvga.c code to use it.  This\nemphasizes the relationship between stdvga_get_vertical_size() and\nstdvga_set_vertical_size() code.\n\nSigned-off-by: Kevin O\u0027Connor \u003ckevin@koconnor.net\u003e\n"
    },
    {
      "commit": "22c91412600b7fabd75ef68d2d4d3e63e9e27f9f",
      "tree": "abb90c85d63f6b0babf43316481130be82b89063",
      "parents": [
        "549463dbc055b4a0abcf2548621ae18c23934465"
      ],
      "author": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Mon Apr 01 11:27:57 2024 -0400"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Fri Apr 05 17:59:49 2024 -0400"
      },
      "message": "stdvga: Rename stdvga_get_vde() to stdvga_get_vertical_size()\n\nSigned-off-by: Kevin O\u0027Connor \u003ckevin@koconnor.net\u003e\n"
    },
    {
      "commit": "549463dbc055b4a0abcf2548621ae18c23934465",
      "tree": "67b4234adad0c969fe90e7966c2cb62f010f3a53",
      "parents": [
        "c67914ac42374e61469de45a1bba5e163c1d2dee"
      ],
      "author": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Mon Apr 01 11:08:14 2024 -0400"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Fri Apr 05 17:59:45 2024 -0400"
      },
      "message": "stdvga: Rename stdvga_set_scan_lines() to stdvga_set_character_height()\n\nReviewed-by: Philippe Mathieu-Daudé \u003cphilmd@linaro.org\u003e\nSigned-off-by: Kevin O\u0027Connor \u003ckevin@koconnor.net\u003e\n"
    },
    {
      "commit": "c67914ac42374e61469de45a1bba5e163c1d2dee",
      "tree": "0114a2a8f87c9354a3af9b20a48cf0a4d64a3a34",
      "parents": [
        "aa94925d296dc31a38360056227ffb0eea749572"
      ],
      "author": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Mon Apr 01 11:03:59 2024 -0400"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Fri Apr 05 17:59:42 2024 -0400"
      },
      "message": "stdvga: Rename stdvga_set_text_block_specifier() to stdvga_set_font_location()\n\nReviewed-by: Philippe Mathieu-Daudé \u003cphilmd@linaro.org\u003e\nSigned-off-by: Kevin O\u0027Connor \u003ckevin@koconnor.net\u003e\n"
    },
    {
      "commit": "aa94925d296dc31a38360056227ffb0eea749572",
      "tree": "15ac0ca77c436968f546297d3fe6430d0495a1e7",
      "parents": [
        "8de51a5af213ffd2981876dea737b65be75b1488"
      ],
      "author": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Sun Mar 31 22:59:06 2024 -0400"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Fri Apr 05 17:59:42 2024 -0400"
      },
      "message": "stdvga: Rework stdvga palette index paging interface functions\n\nRename the functions to make them a little easier to understand.\n\nSigned-off-by: Kevin O\u0027Connor \u003ckevin@koconnor.net\u003e\n"
    },
    {
      "commit": "8de51a5af213ffd2981876dea737b65be75b1488",
      "tree": "ab4bc356e62a9bc096fd6d1bcf81dabc1ed1b2c0",
      "parents": [
        "96c7781ff42f31a24eb6f9018ac24136cfaf6fae"
      ],
      "author": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Sun Mar 31 22:22:13 2024 -0400"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Fri Apr 05 17:59:42 2024 -0400"
      },
      "message": "stdvga: Rename stdvga_toggle_intensity() to stdvga_set_palette_blinking()\n\nSigned-off-by: Kevin O\u0027Connor \u003ckevin@koconnor.net\u003e\n"
    },
    {
      "commit": "96c7781ff42f31a24eb6f9018ac24136cfaf6fae",
      "tree": "db7de8324b6ff4ee639d359d3c751dc37ae45843",
      "parents": [
        "2996819f7df7f5a8fb53528213baa48ab65dad90"
      ],
      "author": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Sun Mar 31 21:45:46 2024 -0400"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Fri Apr 05 17:59:42 2024 -0400"
      },
      "message": "stdvga: Add comments to interface functions in stdvga.c\n\nSigned-off-by: Kevin O\u0027Connor \u003ckevin@koconnor.net\u003e\n"
    },
    {
      "commit": "2996819f7df7f5a8fb53528213baa48ab65dad90",
      "tree": "770c54977f875b30fef5e19b701a631dd9dd5d1a",
      "parents": [
        "913680885350f92965d70122f6fd54406c49af7d"
      ],
      "author": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Sun Mar 31 21:58:12 2024 -0400"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Fri Apr 05 17:58:49 2024 -0400"
      },
      "message": "stdvga: Rename CGA palette functions\n\nRename stdvga_set_border_color() to stdvga_set_cga_background_color()\nand stdvga_set_palette() to stdvga_set_cga_palette().  These functions\nimplement compatibility for old CGA cards - rename them so they are\nnot confused with the functions that manipulte the VGA palette.\n\nReviewed-by: Philippe Mathieu-Daudé \u003cphilmd@linaro.org\u003e\nSigned-off-by: Kevin O\u0027Connor \u003ckevin@koconnor.net\u003e\n"
    },
    {
      "commit": "913680885350f92965d70122f6fd54406c49af7d",
      "tree": "5887400b8ee4a523814d9b09ca75b7c325a346be",
      "parents": [
        "70f43981b73d6b053bbc53d6f0dcac79d92b9688"
      ],
      "author": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Sun Mar 31 21:42:27 2024 -0400"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Sun Mar 31 23:13:07 2024 -0400"
      },
      "message": "stdvgamodes: Improve naming of dac palette tables\n\nSigned-off-by: Kevin O\u0027Connor \u003ckevin@koconnor.net\u003e\n"
    },
    {
      "commit": "70f43981b73d6b053bbc53d6f0dcac79d92b9688",
      "tree": "e05b46dab77a2188ffe906182e7b641ff6665201",
      "parents": [
        "1588fd1437960d94cadc30c42243671e8c0f1281"
      ],
      "author": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Sun Mar 31 21:33:59 2024 -0400"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Sun Mar 31 21:33:59 2024 -0400"
      },
      "message": "stdvgamodes: No need to store pelmask in vga_modes[]\n\nThe pelmask is always 0xff so no need to store in a static table.\n\nSigned-off-by: Kevin O\u0027Connor \u003ckevin@koconnor.net\u003e\n"
    },
    {
      "commit": "1588fd1437960d94cadc30c42243671e8c0f1281",
      "tree": "0cf7998bd5397998f27af9291b078cde5ba3e603",
      "parents": [
        "d73e18bb70f8bf0c6fd405900dd267948dd6c3b2"
      ],
      "author": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Fri Mar 15 19:50:29 2024 -0400"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Fri Mar 15 19:50:29 2024 -0400"
      },
      "message": "vgasrc: Rename vgahw_get_linesize() to vgahw_minimum_linelength()\n\nMake the relationship between vgahw_get_linelength() and\nvgahw_get_linesize() more clear by renaming it to\nvgahw_minimum_linelength().\n\nSigned-off-by: Kevin O\u0027Connor \u003ckevin@koconnor.net\u003e\n"
    },
    {
      "commit": "d73e18bb70f8bf0c6fd405900dd267948dd6c3b2",
      "tree": "596c69890722b89cd88201653c4a1a1ddbd6e965",
      "parents": [
        "192e23b78418abc23a92a7174ae2294fabe4b8a3"
      ],
      "author": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Fri Mar 15 10:58:57 2024 -0400"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Fri Mar 15 10:58:57 2024 -0400"
      },
      "message": "vgasrc: Use curmode_g instead of vmode_g when mode is the current video mode\n\nMany functions are passed a pointer to the current video mode\nvgamode_s struct.  Use the name \u0027curmode_g\u0027 for these functions and\nuse \u0027vmode_g\u0027 for functions that can accept an arbitrary video mode.\nHopefully this will make the goals of the functions more clear.\n\nSigned-off-by: Kevin O\u0027Connor \u003ckevin@koconnor.net\u003e\n"
    },
    {
      "commit": "192e23b78418abc23a92a7174ae2294fabe4b8a3",
      "tree": "7f2da3085815b1118794db01db823328d95ed9d3",
      "parents": [
        "3722c21de19ba64de56495502c0c025b913a9b15"
      ],
      "author": {
        "name": "Daniel Verkamp",
        "email": "daniel@drv.nu",
        "time": "Mon Mar 11 20:26:18 2024 -0700"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Fri Mar 15 10:27:52 2024 -0400"
      },
      "message": "vbe: implement function 09h (get/set palette data)\n\nSince the VBE mode attributes indicate that all modes are not VGA\ncompatible, applications must use VBE function 09h to manipulate the\npalette rather than directly accessing the VGA registers.\n\nThis implementation uses the standard VGA registers for all hardware,\nwhich may not be appropriate; I only verified qemu -device VGA.\n\nWithout this patch, the get/set palette function returns an error code,\nso programs that use 8-bit indexed color modes fail. For example, Quake\n(DOS) printed \"Error: Unable to load VESA palette\" and exited when\ntrying to set a SVGA mode like 640x480, but with the patch it succeeds.\nThis fixes qemu issue #251 and #1862.\n\n\u003chttps://gitlab.com/qemu-project/qemu/-/issues/251\u003e\n\u003chttps://gitlab.com/qemu-project/qemu/-/issues/1862\u003e\n\nSigned-off-by: Daniel Verkamp \u003cdaniel@drv.nu\u003e\nSigned-off-by: Kevin O\u0027Connor \u003ckevin@koconnor.net\u003e\n"
    },
    {
      "commit": "3722c21de19ba64de56495502c0c025b913a9b15",
      "tree": "ff22edad57ae0fb1546dcd535e07338f6aa9cde1",
      "parents": [
        "5d87ff2542c1116e07ae74ba84197a0013e08db1"
      ],
      "author": {
        "name": "Daniel Verkamp",
        "email": "daniel@drv.nu",
        "time": "Mon Mar 11 17:56:40 2024 -0700"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Tue Mar 12 10:27:40 2024 -0400"
      },
      "message": "vgasrc: round up save/restore size\n\nWhen calculating the size of the buffer required for the VGA/VBE state,\nround up rather than truncating when dividing the number of bytes to get\nthe number of 64-byte blocks. Without this modification, the save state\nfunction will write past the end of a buffer of the size requested.\n\nSigned-off-by: Daniel Verkamp \u003cdaniel@drv.nu\u003e\n"
    },
    {
      "commit": "5d87ff2542c1116e07ae74ba84197a0013e08db1",
      "tree": "416c8e3407d42b985243336850da5aca5af873c1",
      "parents": [
        "163fd9f0872f95366cfe34eb11568934c2d2fe29"
      ],
      "author": {
        "name": "Daniel Verkamp",
        "email": "daniel@drv.nu",
        "time": "Thu Mar 07 01:08:27 2024 -0800"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Sun Mar 10 13:00:27 2024 -0400"
      },
      "message": "vbe: Add VBE 2.0+ OemData field to struct vbe_info\n\nPer the VBE 2.0 specification, the VBE controller information is 512\nbytes long when the \"VBE2\" signature is provided, instead of the\noriginal 256 bytes.\n\nsrc/bootsplash.c uses the original pre-VBE-2.0 256-byte structure while\nalso filling in the \"VBE2\" signature, so a video BIOS that makes use of\nthe VBE2 OemData area could write past the end of the allocated region.\n\nThe original bootsplash code did not have this bug; it was introduced\nwhen the bootsplash VBE structures were merged with the VGA ROM struct\ndefinitions.\n\nFixes: 69e941c159ed (\"Merge bootsplash and VGA ROM vbe structure definitions\")\nSigned-off-by: Daniel Verkamp \u003cdaniel@drv.nu\u003e\n"
    },
    {
      "commit": "163fd9f0872f95366cfe34eb11568934c2d2fe29",
      "tree": "907caa26e431e131195ab3b0fa9c979927072e01",
      "parents": [
        "82faf1d5c8b25375b9029f2d6668135e62455a8c"
      ],
      "author": {
        "name": "Igor Mammedov",
        "email": "imammedo@redhat.com",
        "time": "Fri Feb 23 16:05:22 2024 +0100"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Sun Mar 03 12:40:12 2024 -0500"
      },
      "message": "fix smbios blob length overflow\n\nWhen tables are more than 64K, size of copied tables will be\ntruncated due to cast from u32 to u16, and as result only\na small portion of the tables will be copied in the end.\nThat leads to corrupted tables (a part from QEMU and\nremainder is whatever was in memory block allocated for\nthe tables).\n\nFix it by making qtables_len 32bit int.\n\nSigned-off-by: Igor Mammedov \u003cimammedo@redhat.com\u003e\n"
    },
    {
      "commit": "82faf1d5c8b25375b9029f2d6668135e62455a8c",
      "tree": "b272a5171b796d9e34a793be56611b3afc41ac16",
      "parents": [
        "3f082f38bf0050270dc65abf256f7014f6c0c4a8"
      ],
      "author": {
        "name": "Max Tottenham",
        "email": "mtottenh@akamai.com",
        "time": "Thu Jan 25 10:00:50 2024 -0500"
      },
      "committer": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Fri Jan 26 15:59:34 2024 +0100"
      },
      "message": "Add LBA 64bit support for reads beyond 2TB.\n\nWhen booting from a \u003e2TB drive/filesystem, it\u0027s possible what the\nkernel/bootloader may be updated and written out at an LBA address\nbeyond what is normally accessible by the READ(10) SCSI commands.\nIf this happens to the kernel grub will fail to boot the kernel\nas it will call into the BIOS with an LBA address \u003e2TB, and the\nBIOS will return an error. Per the SCSI spec, \u003e2TB drives should\nreturn 0XFFFFFFFF, and a READ CAPACITY(16) command should be issued\nto determine the full size of the drive, READ(16) commands can then\nbe used in order to read data at LBA addresses beyond 2TB (64 bit\nLBA addresses)\n\nSigned-off-by: Max Tottenham \u003cmtottenh@akamai.com\u003e\nMessage-ID: \u003c20240125150050.3775834-2-mtottenh@akamai.com\u003e\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\n"
    },
    {
      "commit": "3f082f38bf0050270dc65abf256f7014f6c0c4a8",
      "tree": "22268f703fdd9b90afed30d01ab28b7e211ccdcd",
      "parents": [
        "3ae8888611e59ad82a59df7bead143662036d946"
      ],
      "author": {
        "name": "Andrej Kruták",
        "email": "andrej.krutak@sysgo.com",
        "time": "Tue Jan 09 16:34:23 2024 +0100"
      },
      "committer": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Thu Jan 25 10:12:22 2024 +0100"
      },
      "message": "Add AHCI Power ON + ICC_ACTIVE into port setup code\n\nWindows appears to put the AHCI port into \u0027Partial power management state\u0027\nduring reboot, the command puts it back into \u0027active state\u0027.\n\nAHCI/1: link down 0x00000231 (SCR STAT register)\n -\u003e\nAHCI/1: link up 0x00000133\n\nSigned-off-by: Andrej Krutak andrej.krutak@sysgo.com\nMessage-ID: \u003c1531455205.6484.1704814463638@ox.sysgo.com\u003e\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\n"
    },
    {
      "commit": "3ae8888611e59ad82a59df7bead143662036d946",
      "tree": "76ce476dedc6aa89b578222f8ccfb26eab0b53d0",
      "parents": [
        "a6ed6b701f0a57db0569ab98b0661c12a6ec3ff8"
      ],
      "author": {
        "name": "Mark Cave-Ayland",
        "email": "mark.cave-ayland@ilande.co.uk",
        "time": "Mon Jan 01 12:19:42 2024 +0000"
      },
      "committer": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Thu Jan 25 10:08:37 2024 +0100"
      },
      "message": "esp-scsi: terminate DMA transfer when ESP data transfer completes\n\nWhen the ESP data transfer completes indicated by the STAT_TC flag being set,\nterminate the DMA transfer by issuing a DMA IDLE command. Otherwise in the case\nwhere the guest sends a reset followed by an ESP command, the DMA signal remains\nenabled and so the next SeaBIOS DMA transfer begins immediately when the next\nESP command is received rather than waiting until the data is ready and the DMA\ncommand is issued.\n\nWith this fix it is possible to boot a Windows XP ISO to the installer and\ncomplete a full installation within QEMU directly using SeaBIOS.\n\nSigned-off-by: Mark Cave-Ayland \u003cmark.cave-ayland@ilande.co.uk\u003e\nMessage-ID: \u003c20240101121942.383191-1-mark.cave-ayland@ilande.co.uk\u003e\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\n"
    },
    {
      "commit": "a6ed6b701f0a57db0569ab98b0661c12a6ec3ff8",
      "tree": "1226a1a5061c5464eb693a5939a30a0a4d59c0b8",
      "parents": [
        "1e1da7a963007d03a4e0e9a9e0ff17990bb1608d"
      ],
      "author": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Tue Nov 07 13:49:31 2023 +0100"
      },
      "committer": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Mon Nov 13 13:49:59 2023 +0100"
      },
      "message": "limit address space used for pci devices.\n\nFor better compatibility with old linux kernels,\nsee source code comment.\n\nAlso rename some variables to make the code more\nreadable, following suggestions by Kevin.\n\nRelated (same problem in ovmf):\nhttps://github.com/tianocore/edk2/commit/c1e853769046\n\nCc: Kevin O\u0027Connor \u003ckevin@koconnor.net\u003e\nReported-by: Claudio Fontana \u003ccfontana@suse.de\u003e\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\n"
    },
    {
      "commit": "1e1da7a963007d03a4e0e9a9e0ff17990bb1608d",
      "tree": "c08db7a8850bec6e0323e2dc0ec57430461f176f",
      "parents": [
        "ecc51f211f3edd4fcc79d38af56cf84283e4d8b1"
      ],
      "author": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Fri Apr 21 12:42:51 2023 +0200"
      },
      "committer": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Thu Aug 24 10:56:21 2023 +0200"
      },
      "message": "check for e820 conflict\n\nAdd support to check for overlaps with e820 entries.\nIn case the 64bit pci io window has conflicts move it down.\n\nThe only known case where this happens is AMD processors\nwith 1TB address space which has some space just below\n1TB reserved for HT.\n\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\n"
    },
    {
      "commit": "ecc51f211f3edd4fcc79d38af56cf84283e4d8b1",
      "tree": "d572ae6f62297747c10be74f534d7f15499e8424",
      "parents": [
        "96a8d130a8c2e908e357ce62cd713f2cc0b0a2eb"
      ],
      "author": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Fri Apr 21 12:45:04 2023 +0200"
      },
      "committer": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Thu Aug 24 10:56:21 2023 +0200"
      },
      "message": "qemu: log reservations in fw_cfg e820 table\n\nWith loglevel 1 (same we use for RAM entries),\nso it is included in the firmware log by default.\n\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\n"
    },
    {
      "commit": "96a8d130a8c2e908e357ce62cd713f2cc0b0a2eb",
      "tree": "e658e0c7f1b60a47250c08ee232943d22a1455e4",
      "parents": [
        "bcfed7e270776ab5595cafc6f1794bea0cae1c6c"
      ],
      "author": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Fri Sep 09 10:17:15 2022 +0200"
      },
      "committer": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Thu Aug 24 10:56:21 2023 +0200"
      },
      "message": "be less conservative with the 64bit pci io window\n\nCurrent seabios code will only enable and use the 64bit pci io window in\ncase it runs out of space in the 32bit pci mmio window below 4G.\n\nThis patch will also enable the 64bit pci io window when\n  (a) RAM above 4G is present, and\n  (b) the physical address space size is known, and\n  (c) seabios is running on a 64bit capable processor.\n\nThis operates with the assumption that guests which are ok with memory\nabove 4G most likely can handle mmio above 4G too.\n\nIn case the 64bit pci io window is enabled also assign more memory to\nprefetchable pci bridge windows and the complete 64bit pci io window.\n\nThe total mmio window size is 1/8 of the physical address space.\nMinimum bridge windows size is 1/256 of the total mmio window size.\n\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\n"
    },
    {
      "commit": "bcfed7e270776ab5595cafc6f1794bea0cae1c6c",
      "tree": "3128667c4119ebe59e9bcc0c81e6b68856be8d4e",
      "parents": [
        "90eeb0c8558a1524836ec94aee11f4cc88b10c78"
      ],
      "author": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Fri Sep 09 10:16:31 2022 +0200"
      },
      "committer": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Thu Aug 24 10:56:21 2023 +0200"
      },
      "message": "move 64bit pci window to end of address space\n\nWhen the size of the physical address space is known (PhysBits is not\nzero) move the 64bit pci io window to the end of the address space.\n\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\n"
    },
    {
      "commit": "90eeb0c8558a1524836ec94aee11f4cc88b10c78",
      "tree": "6ee2035cd16180a196e6e719a31babcb6cae6bd5",
      "parents": [
        "be84867613f791ea344d565d65a9ce85238e8533"
      ],
      "author": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Wed Aug 31 08:27:33 2022 +0200"
      },
      "committer": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Thu Aug 24 10:56:21 2023 +0200"
      },
      "message": "detect physical address space size\n\nCheck for pae and long mode using cpuid.  If present also read the\nphysical address bits.  Apply some qemu sanity checks (see below).\nRecord results in PhysBits and LongMode variables.  In case we are not\nsure what the address space size is leave the PhysBits variable unset.\n\nOn qemu we have the problem that for historical reasons x86_64\nprocessors advertise 40 physical address space bits by default, even in\ncase the host supports less than that so actually using the whole\naddress space will not work.\n\nBecause of that the code applies some extra sanity checks in case we\nfind 40 (or less) physical address space bits advertised.  Only\nknown-good values (which is 40 for amd processors and 36+39 for intel\nprocessors) will be accepted as valid.\n\nRecommendation is to use \u0027qemu -cpu ${name},host-phys-bits\u003don\u0027 to\nadvertise valid physical address space bits to the guest.  Some distro\nbuilds enable this by default, and most likely the qemu default will\nchange in near future too.\n\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\n"
    },
    {
      "commit": "be84867613f791ea344d565d65a9ce85238e8533",
      "tree": "cd2c4cfc4d30e33b821da4d06cb21b1f8155f861",
      "parents": [
        "7a4003be25eae462f3c3d8aad96b57e34dc0c2b8"
      ],
      "author": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Fri Sep 09 07:45:13 2022 +0200"
      },
      "committer": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Thu Aug 24 10:56:21 2023 +0200"
      },
      "message": "better kvm detection\n\nIn case kvm emulates features of another hypervisor (for example hyperv)\ntwo VMM CPUID blocks will be present, one for the emulated hypervisor\nand one for kvm itself.\n\nThis patch makes seabios loop over the VMM CPUID blocks to make sure it\nwill properly detect kvm when multiple blocks are present.\n\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\n"
    },
    {
      "commit": "7a4003be25eae462f3c3d8aad96b57e34dc0c2b8",
      "tree": "7a1583095fb5d04c3b7159b887f4af9c3391fe8b",
      "parents": [
        "cf4b829f0c09153c504858d2f8426912907124d8"
      ],
      "author": {
        "name": "Mark Cave-Ayland",
        "email": "mark.cave-ayland@ilande.co.uk",
        "time": "Mon Aug 07 07:53:00 2023 +0100"
      },
      "committer": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Thu Aug 24 10:40:09 2023 +0200"
      },
      "message": "esp-scsi: handle non-DMA SCSI commands with no data phase\n\nThe existing esp-scsi state machine checks for the STAT_TC bit to exit state 1\nbut in the case where there is no data phase, a non-DMA command is executed\nwhich doesn\u0027t set STAT_TC. This only works because QEMU currently always sets\nSTAT_TC just after issuing every SCSI command.\n\nUpdate the esp-scsi state machine so that in the case where there is no data\nphase, we immediately execute CMD_ICCS instead of waiting for STAT_TC to be\nset which will never happen with a non-DMA CMD_SELATN command.\n\nSigned-off-by: Mark Cave-Ayland \u003cmark.cave-ayland@ilande.co.uk\u003e\nMessage-ID: \u003c20230807065300.366070-4-mark.cave-ayland@ilande.co.uk\u003e\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\n"
    },
    {
      "commit": "cf4b829f0c09153c504858d2f8426912907124d8",
      "tree": "5c83855d0a29203bfca41bc0fd0df32ba5376085",
      "parents": [
        "db50227d4e42057f8ff520777b36ab7a742a4bfc"
      ],
      "author": {
        "name": "Mark Cave-Ayland",
        "email": "mark.cave-ayland@ilande.co.uk",
        "time": "Mon Aug 07 07:52:59 2023 +0100"
      },
      "committer": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Thu Aug 24 10:40:09 2023 +0200"
      },
      "message": "esp-scsi: check for INTR_BS/INTR_FC instead of STAT_TC for command completion\n\nThe ESP SELATN command used to send SCSI commands from the ESP to the SCSI bus\nis not a DMA command and therefore does not affect the STAT_TC bit. The only\nreason this works at all is due to a bug in QEMU which (currently) always\nupdates the STAT_TC bit in ESP_RSTAT regardless of the state of the ESP_CMD_DMA\nbit.\n\nAccording to the NCR datasheet [1] the INTR_BS/INTR_FC bits are set when the\nSELATN command has completed, so update the existing logic to check for these\nbits in ESP_RINTR instead. Note that the read of ESP_RINTR needs to be\nrestricted to state \u003d\u003d 0 as reading ESP_RINTR resets the ESP_RSTAT register\nwhich breaks the STAT_TC check when state \u003d\u003d 1.\n\nThis commit also includes an extra read of ESP_INTR to clear all the interrupt\nbits before submitting the SELATN command to ensure that we don\u0027t accidentally\nimmediately progress to the data phase handling logic where ESP_RINTR bits have\nalready been set by a previous ESP command.\n\n[1] \"NCR 53C94, 53C95, 53C96 Advanced SCSI Controller\"\n    NCR_53C94_53C95_53C96_Data_Sheet_Feb90.pdf\n\nSigned-off-by: Mark Cave-Ayland \u003cmark.cave-ayland@ilande.co.uk\u003e\nReviewed-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\nMessage-ID: \u003c20230807065300.366070-3-mark.cave-ayland@ilande.co.uk\u003e\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\n"
    },
    {
      "commit": "db50227d4e42057f8ff520777b36ab7a742a4bfc",
      "tree": "21ada671997d49a13d9527d53cd4cbe0753c3d39",
      "parents": [
        "774a823a966cdc5d31ddc11af2b7b4f2c250ffdd"
      ],
      "author": {
        "name": "Mark Cave-Ayland",
        "email": "mark.cave-ayland@ilande.co.uk",
        "time": "Mon Aug 07 07:52:58 2023 +0100"
      },
      "committer": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Thu Aug 24 10:40:09 2023 +0200"
      },
      "message": "esp-scsi: flush FIFO before sending SCSI command\n\nThe ESP FIFO is used as a buffer for DMA requests and so isn\u0027t guaranteed to\nbe empty in the case of SCSI errors or a mixed DMA/non-DMA request. Flush the\nFIFO before sending a SCSI command to guarantee that it is correctly\npositioned at the start of the FIFO.\n\nSigned-off-by: Mark Cave-Ayland \u003cmark.cave-ayland@ilande.co.uk\u003e\nReviewed-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\nReviewed-by: Philippe Mathieu-Daudé \u003cphilmd@linaro.org\u003e\nMessage-ID: \u003c20230807065300.366070-2-mark.cave-ayland@ilande.co.uk\u003e\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\n"
    },
    {
      "commit": "774a823a966cdc5d31ddc11af2b7b4f2c250ffdd",
      "tree": "27f176dfc76daa71f8129768ef19637e7b446132",
      "parents": [
        "1281e340ad1d90c0cc8e8d902bb34f1871eb48cf"
      ],
      "author": {
        "name": "Tony Titus via SeaBIOS",
        "email": "seabios@seabios.org",
        "time": "Fri Jul 28 04:41:48 2023 +0000"
      },
      "committer": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Thu Aug 24 10:32:06 2023 +0200"
      },
      "message": "Increase BUILD_MAX_E820 to 128\n\nFor platforms with high number of numa nodes, 32 e820 entries are not\nenough. Linux kernel sets the maximum e820 entries to a base value of\n128. Setting BUILD_MAX_E820 to 128 to be in sync with this base value.\n\nSigned-off-by: Tony Titus \u003ctonydt@amazon.com\u003e\nMessage-ID: \u003c20230728044148.58041-1-tonydt@amazon.com\u003e\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\n"
    },
    {
      "commit": "1281e340ad1d90c0cc8e8d902bb34f1871eb48cf",
      "tree": "2c0e1ab64ae7bc673a95e0172a03cc81d607191a",
      "parents": [
        "cd933454b5e3e1f86379a44b5ae1852c2a01a485"
      ],
      "author": {
        "name": "Niklas Cassel via SeaBIOS",
        "email": "seabios@seabios.org",
        "time": "Tue May 30 15:44:05 2023 +0200"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Wed Jun 21 22:02:32 2023 -0400"
      },
      "message": "ahci: handle TFES irq correctly\n\nAccording to AHCI 1.3.1, 5.3.8.1 RegFIS:Entry, if ERR_STAT is set in the\nreceived FIS, the HBA shall jump to state ERR:FatalTaskfile, which will\nraise a TFES IRQ.\n\nThis means that if ERR_STAT is set in the recevied FIS, PxIS.TFES will\nbe set, without either PxIS.DHRS or PxIS.PSS being set.\n\nSeaBIOS function ahci_port_setup() will try to identify an AHCI device\nby sending an ATAPI identify device command. However, such a command\nwill be aborted with ERR_STAT set for a regular (non-ATAPI) device.\n\nahci_command() already performs the correct error recovery steps when\nstatus is correctly set, so simply modify ahci_command() to read the\ncorrect status when PxIS.TFES is set.\n\nIt is safe to read PxTFD when PxIS.TFES is set, even for systems with a\nport multiplier, see AHCI 1.3.1, 9.3.7 PxTFD Register Information:\n\"When a taskfile error occurs (PxIS.TFES is set to \u00271\u0027), the host may\nrefer to the values in PxTFD. The values in PxTFD at this time are\nguaranteed to correspond to the device that reported the taskfile error\ncondition.\"\n\nWithout this, each boot will be delayed by 32 seconds, waiting for the\nAHCI command to timeout.\n\nSigned-off-by: Niklas Cassel \u003cniklas.cassel@wdc.com\u003e\nTested-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\nAcked-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\n"
    },
    {
      "commit": "cd933454b5e3e1f86379a44b5ae1852c2a01a485",
      "tree": "52fbf10344dd3366213eaea5311f7e1d3e984f39",
      "parents": [
        "4db444b9a78abf9f6dc981f0e79db749765dc6e8"
      ],
      "author": {
        "name": "Lukas Stockner via SeaBIOS",
        "email": "seabios@seabios.org",
        "time": "Tue Jun 06 15:29:52 2023 +0200"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Tue Jun 13 11:11:25 2023 -0400"
      },
      "message": "virtio-blk: Fix integer overflow for large max IO sizes\n\nWhen the maximum IO size supported by the virtio-blk backend is large\nenough (\u003e\u003d 32MiB for 512B sectors), the computed blk_num_max will\noverflow. In particular, if it\u0027s a multiple of 32MiB, blk_num_max\nwill end up as zero, causing IO requests to fail.\n\nThis is triggered by e.g. the SPDK virtio-blk vhost-user backend.\n\nTo fix it, just limit blk_num_max to 65535 before converting to u16.\n\nSigned-off-by: Lukas Stockner \u003clstockner@genesiscloud.com\u003e\n"
    },
    {
      "commit": "4db444b9a78abf9f6dc981f0e79db749765dc6e8",
      "tree": "12345770c63bb1b86fe295a315fe3f04e5a86a5a",
      "parents": [
        "be7e899350caa7b74d8271a34264c3b4aef25ab0"
      ],
      "author": {
        "name": "José Martínez",
        "email": "xose@google.com",
        "time": "Tue Jun 13 11:01:34 2023 -0400"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Tue Jun 13 11:01:34 2023 -0400"
      },
      "message": "Fix high memory zone initialization in CSM mode\n\nmalloc_high() cannot allocate any memory in CSM mode due to an empty\nZoneHigh. SeaBIOS cannot find any disk to boot from because device\ninitialization fails.\n\nThe bug was introduced in 1.16.1 (commit dc88f9b) when the meaning of\nBUILD_MAX_HIGHTABLE changed but CSM code was not updated. This patch\nreverts to the previous behavior by using BUILD_MIN_HIGHTABLE in CSM\nmethods.\n\nSigned-off-by: José Martínez \u003cxose@google.com\u003e\n"
    },
    {
      "commit": "be7e899350caa7b74d8271a34264c3b4aef25ab0",
      "tree": "cf698d68b4a28ec88d142342144c25d0f4c730c8",
      "parents": [
        "ea1b7a0733906b8425d948ae94fba63c32b1d425"
      ],
      "author": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Wed May 03 11:16:30 2023 +0200"
      },
      "committer": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Fri May 05 09:05:53 2023 +0200"
      },
      "message": "disable array bounds warning\n\nThe segmented pointer casting magic confuses gcc, recent versions\nthrow array bound warnings.  Disable the warning.\n\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\n"
    },
    {
      "commit": "ea1b7a0733906b8425d948ae94fba63c32b1d425",
      "tree": "22c6a019e54b333a381eecd6e1a3d4739de0f99b",
      "parents": [
        "645a64b4911d7cadf5749d7375544fc2384e70ba"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw@amazon.co.uk",
        "time": "Fri Jan 20 11:33:19 2023 +0000"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Wed Feb 01 20:14:39 2023 -0500"
      },
      "message": "xen: require Xen info structure at 0x1000 to detect Xen\n\nWhen running under Xen, hvmloader places a table at 0x1000 with the e820\ninformation and BIOS tables. If this isn\u0027t present, SeaBIOS will\ncurrently panic.\n\nWe now have support for running Xen guests natively in QEMU/KVM, which\nboots SeaBIOS directly instead of via hvmloader, and does not provide\nthe same structure.\n\nAs it happens, this doesn\u0027t matter on first boot. because although we\nset PlatformRunningOn to PF_QEMU|PF_XEN, reading it back again still\ngives zero. Presumably because in true Xen, this is all already RAM. But\nin QEMU with a faithfully-emulated PAM config in the host bridge, it\u0027s\nstill in ROM mode at this point so we don\u0027t see what we\u0027ve just written.\n\nOn reboot, however, the region *is* set to RAM mode and we do see the\nupdated value of PlatformRunningOn, do manage to remember that we\u0027ve\ndetected Xen in CPUID, and hit the panic.\n\nIt\u0027s not trivial to detect QEMU vs. real Xen at the time xen_preinit()\nruns, because it\u0027s so early. We can\u0027t even make a XENVER_extraversion\nhypercall to look for hints, because we haven\u0027t set up the hypercall\npage (and don\u0027t have an allocator to give us a page in which to do so).\n\nSo just make Xen detection contingent on the info structure being\npresent. If it wasn\u0027t, we were going to panic anyway. That leaves us\ntaking the standard QEMU init path for Xen guests in native QEMU,\nwhich is just fine.\n\nUntested on actual Xen but ObviouslyCorrect™.\n\nSigned-off-by: David Woodhouse \u003cdwmw@amazon.co.uk\u003e\n"
    },
    {
      "commit": "645a64b4911d7cadf5749d7375544fc2384e70ba",
      "tree": "e8d01f3c4ced5fc4858eb1d8e473ef5b11c73eae",
      "parents": [
        "3208b098f51a9ef96d0dfa71d5ec3a3eaec88f0a"
      ],
      "author": {
        "name": "Qi Zhou",
        "email": "atmgnd@outlook.com",
        "time": "Mon Nov 14 20:55:44 2022 +0800"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Wed Nov 23 11:31:15 2022 -0500"
      },
      "message": "usb: fix wrong init of keyboard/mouse\u0027s if first interface is not boot protocol\n\nThere is always some endpoint descriptors after each interface descriptor, We\nshould only decrement num_iface if interface type is USB_DT_INTERFACE, see\nhttps://www.beyondlogic.org/usbnutshell/usb5.shtml#ConfigurationDescriptors\n\nSigned-off-by: Qi Zhou \u003catmgnd@outlook.com\u003e\n"
    },
    {
      "commit": "3208b098f51a9ef96d0dfa71d5ec3a3eaec88f0a",
      "tree": "686cd8dbf262bd4fff2a588d825257d242828342",
      "parents": [
        "5ea5c64c20e97e962c520af3f4e413d4b1b98dea"
      ],
      "author": {
        "name": "Xuan Zhuo",
        "email": "xuanzhuo@linux.alibaba.com",
        "time": "Mon Nov 14 11:58:18 2022 +0800"
      },
      "committer": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Wed Nov 23 09:28:54 2022 +0100"
      },
      "message": "virtio: finalize features before using device\n\nUnder the standard of Virtio 1.0, the initialization process of the\ndevice must first write sub-features back to device before\nusing device, such as finding vqs.\n\nThere are four places using vp_find_vq().\n\n1. virtio-blk.pci:    put the code of finalizing features in front of using device\n2. virtio-blk.mmio:   put the code of finalizing features in front of using device\n3. virtio-scsi.pci:   is ok\n4. virtio-scsi.mmio:  add the code of finalizing features before vp_find_vq()\n\nLink: https://www.mail-archive.com/qemu-devel@nongnu.org/msg920776.html\nSigned-off-by: Xuan Zhuo \u003cxuanzhuo@linux.alibaba.com\u003e\nAcked-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nMessage-Id: \u003c20221114035818.109511-3-xuanzhuo@linux.alibaba.com\u003e\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\n"
    },
    {
      "commit": "5ea5c64c20e97e962c520af3f4e413d4b1b98dea",
      "tree": "5c70febfc08f0fbf7b1b1f86d7b7290862f8bc70",
      "parents": [
        "61e901bbaadf63080ac6a3911bd29da1308a0751"
      ],
      "author": {
        "name": "Xuan Zhuo",
        "email": "xuanzhuo@linux.alibaba.com",
        "time": "Mon Nov 14 11:58:17 2022 +0800"
      },
      "committer": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Wed Nov 23 09:28:54 2022 +0100"
      },
      "message": "virtio-mmio: read/write the hi 32 features for mmio\n\nUnder mmio, when we read the feature from the device, we should read the\nhigh 32-bit part. Similarly, when writing the feature back, we should\nalso write back the high 32-bit feature.\n\nSigned-off-by: Xuan Zhuo \u003cxuanzhuo@linux.alibaba.com\u003e\nAcked-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nMessage-Id: \u003c20221114035818.109511-2-xuanzhuo@linux.alibaba.com\u003e\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\n"
    },
    {
      "commit": "61e901bbaadf63080ac6a3911bd29da1308a0751",
      "tree": "6c19a160d9515b37d97bb9c11dfa8abf0ac79a9a",
      "parents": [
        "85d56f812f4d020b3b486682aff07d9f4a4c60fe"
      ],
      "author": {
        "name": "Igor Mammedov",
        "email": "imammedo@redhat.com",
        "time": "Fri Nov 18 15:27:55 2022 +0100"
      },
      "committer": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Wed Nov 23 09:23:30 2022 +0100"
      },
      "message": "acpi: parse Alias object\n\nSince QEMU commit\n  47a373faa6 (acpi: pc/q35: drop ad-hoc PCI-ISA bridge AML routines and let bus ennumeration generate AML)\nSeaBIOS fails to parse ISA bridge AML with:\n\n   parse_termlist: parse error, skip from 92/517\n   ...\n   ACPI: no PS/2 keyboard present\n\ndue to Alias term in DSDT which isn\u0027t handled by SeaBIOS properly.\nAdd dumb Alias parsing which just skips over term,\nso the rest of AML could be parsed successfully.\n\nSigned-off-by: Igor Mammedov \u003cimammedo@redhat.com\u003e\nReported-by: Volker Rümelin \u003cvr_qemu@t-online.de\u003e\nMessage-Id: \u003c20221118142755.3879231-1-imammedo@redhat.com\u003e\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\n"
    },
    {
      "commit": "85d56f812f4d020b3b486682aff07d9f4a4c60fe",
      "tree": "6ed7821413e37caf2e5819ba3920b6794622d169",
      "parents": [
        "46de2eec93bffa0706e6229c0da2919763c8eb04"
      ],
      "author": {
        "name": "Xiaofei Lee",
        "email": "hbuxiaofei@gmail.com",
        "time": "Mon Nov 21 22:54:10 2022 +0800"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Tue Nov 22 13:11:49 2022 -0500"
      },
      "message": "virtio-blk: Fix incorrect type conversion in virtio_blk_op()\n\nWhen using spdk aio bdev driver, the qemu command line like this:\n\nqemu-system-x86_64 \\\n    -chardev socket,id\u003dchar0,path\u003d/tmp/vhost.0 \\\n    -device vhost-user-blk-pci,id\u003dblk0,chardev\u003dchar0 \\\n    ...\n\nBoot failure message as below:\n\ne820 map has 7 items:\n  0: 0000000000000000 - 000000000009fc00 \u003d 1 RAM\n  1: 000000000009fc00 - 00000000000a0000 \u003d 2 RESERVED\n  2: 00000000000f0000 - 0000000000100000 \u003d 2 RESERVED\n  3: 0000000000100000 - 000000007ffdd000 \u003d 1 RAM\n  4: 000000007ffdd000 - 0000000080000000 \u003d 2 RESERVED\n  5: 00000000feffc000 - 00000000ff000000 \u003d 2 RESERVED\n  6: 00000000fffc0000 - 0000000100000000 \u003d 2 RESERVED\nenter handle_19:\n  NULL\nBooting from Hard Disk...\nBoot failed: could not read the boot disk\n\nFixes: a05af290bac5 (\"virtio-blk: split large IO according to size_max\")\n\nAcked-by: Andy Pei \u003candy.pei@intel.com\u003e\nAcked-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\nAcked-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nAcked-by: Paul Menzel \u003cpmenzel@molgen.mpg.de\u003e\nSigned-off-by: Xiaofei Lee \u003chbuxiaofei@gmail.com\u003e\n"
    },
    {
      "commit": "46de2eec93bffa0706e6229c0da2919763c8eb04",
      "tree": "de2bcc92ba54ece25473ca2df83b42b6bd89c5a1",
      "parents": [
        "dc88f9b72df52b22c35b127b80c487e0b6fca4af"
      ],
      "author": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Thu Jun 30 17:28:40 2022 +0200"
      },
      "committer": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Thu Jul 07 12:05:19 2022 +0200"
      },
      "message": "virtio-blk: use larger default request size\n\nBump default from 8 to 64 blocks.  Using 8 by default leads\nto requests being splitted on qemu, which slows down boot.\n\nSome (temporary) debug logging added showed that almost all\nrequests on a standard fedora install are less than 64 blocks,\nso that should bring us back to 1.15 performance levels.\n\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\n"
    },
    {
      "commit": "dc88f9b72df52b22c35b127b80c487e0b6fca4af",
      "tree": "a9b21cf8db79e883926f3e42384ff5c16c1b50b6",
      "parents": [
        "3b91e8e9fe93d5ff7edf17f984c401f9e6ba55fe"
      ],
      "author": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Mon Apr 25 09:25:31 2022 +0200"
      },
      "committer": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Wed Apr 27 09:16:05 2022 +0200"
      },
      "message": "malloc: use large ZoneHigh when there is enough memory\n\nIn case there is enough memory installed use a large ZoneHigh.\n\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\n"
    },
    {
      "commit": "3b91e8e9fe93d5ff7edf17f984c401f9e6ba55fe",
      "tree": "9c5ccd2145e39f2b437290874a17a4450726db15",
      "parents": [
        "01774004c7f7fdc9c1e8f1715f70d3b913f8d491"
      ],
      "author": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Mon Apr 25 09:20:02 2022 +0200"
      },
      "committer": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Wed Apr 27 09:15:25 2022 +0200"
      },
      "message": "malloc: use variable for ZoneHigh size\n\nUse the variable highram_size instead of the BUILD_MAX_HIGHTABLE #define\nfor the ZoneHigh size. Initialize the new variable with the old #define,\nso behavior does not change.\n\nThis allows to easily adjust the ZoneHigh size at runtime in a followup\npatch.\n\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\n"
    },
    {
      "commit": "01774004c7f7fdc9c1e8f1715f70d3b913f8d491",
      "tree": "9b51609d7512eb5220479d49d99a2d8399705cdc",
      "parents": [
        "d24f42b0d819ea473ae05b2f955b822d0126d901"
      ],
      "author": {
        "name": "Volker Rümelin",
        "email": "vr_qemu@t-online.de",
        "time": "Sat Apr 02 20:28:39 2022 +0200"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Mon Apr 04 17:13:00 2022 -0400"
      },
      "message": "reset: force standard PCI configuration access\n\nAfter a reset of a QEMU -machine q35 guest, the PCI Express\nEnhanced Configuration Mechanism is disabled and the variable\nmmconfig no longer matches the configuration register PCIEXBAR\nof the Q35 chipset. Until the variable mmconfig is reset to 0,\nall pci_config_*() functions no longer work.\n\nThe variable mmconfig is located in one of the read-only C-F\nsegments. To reset it the pci_config_*() functions are needed,\nbut they do not work.\n\nReplace all pci_config_*() calls with Standard PCI Configuration\nMechanism pci_ioconfig_*() calls until mmconfig is overwritten\nwith 0 by a fresh copy of the BIOS.\n\nThis fixes\n\nIn resume (status\u003d0)\nIn 32bit resume\nAttempting a hard reboot\nUnable to unlock ram - bridge not found\n\nand a reset loop with QEMU -accel tcg.\n\nSigned-off-by: Volker Rümelin \u003cvr_qemu@t-online.de\u003e\n"
    },
    {
      "commit": "d24f42b0d819ea473ae05b2f955b822d0126d901",
      "tree": "73ef2be508730b971f15874197287408cca581f0",
      "parents": [
        "d239552ce7220e448ae81f41515138f7b9e3c4db"
      ],
      "author": {
        "name": "Volker Rümelin",
        "email": "vr_qemu@t-online.de",
        "time": "Sat Apr 02 20:28:38 2022 +0200"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Mon Apr 04 17:13:00 2022 -0400"
      },
      "message": "pci: refactor the pci_config_*() functions\n\nSplit out the Standard PCI Configuration Access Mechanism\npci_ioconfig_*() functions from the pci_config_*() functions.\nThe standard PCI CAM functions will be used in the next patch.\n\nReviewed-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\nSigned-off-by: Volker Rümelin \u003cvr_qemu@t-online.de\u003e\n"
    },
    {
      "commit": "d239552ce7220e448ae81f41515138f7b9e3c4db",
      "tree": "15d656f625554f88e55c55873fd262d553e875bf",
      "parents": [
        "829b0f1a7cda1bccdf44a379fb3a96e519a7e8cd"
      ],
      "author": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Tue Mar 01 20:29:02 2022 -0500"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Tue Mar 01 20:29:02 2022 -0500"
      },
      "message": "docs: Note v1.16.0 release\n\nSigned-off-by: Kevin O\u0027Connor \u003ckevin@koconnor.net\u003e\n"
    },
    {
      "commit": "829b0f1a7cda1bccdf44a379fb3a96e519a7e8cd",
      "tree": "b8e0f315be3865a51c98c2d123ca0fbeca666685",
      "parents": [
        "dc776a2d9ca9e1b857e880ff682668871369b4c3"
      ],
      "author": {
        "name": "Florian Larysch",
        "email": "fl@n621.de",
        "time": "Sun Jan 23 17:43:57 2022 +0100"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Thu Feb 03 17:50:00 2022 -0500"
      },
      "message": "nvme: fix LBA format data structure\n\nThe LBA Format Data structure is dword-sized, but struct nvme_lba_format\nerroneously contains an additional member, misaligning all LBAF\ndescriptors after the first and causing them to be misinterpreted.\nRemove it.\n\nSigned-off-by: Florian Larysch \u003cfl@n621.de\u003e\nReviewed-by: Alexander Graf \u003cgraf@amazon.com\u003e\n"
    },
    {
      "commit": "dc776a2d9ca9e1b857e880ff682668871369b4c3",
      "tree": "ac25755bdcb457619d7d60b43d2d71350c8e8202",
      "parents": [
        "15a102e062af18e01daece409ee54765a3b4ec13"
      ],
      "author": {
        "name": "Jan Beulich via SeaBIOS",
        "email": "seabios@seabios.org",
        "time": "Mon Jan 24 10:20:53 2022 +0100"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Thu Jan 27 11:32:47 2022 -0500"
      },
      "message": "nvme: avoid use-after-free in nvme_controller_enable()\n\nCommit b68f313c9139 (\"nvme: Record maximum allowed request size\")\nintroduced a use of \"identify\" past it being passed to free(). Latch the\nvalue of interest into a local variable.\n\nReported-by: Coverity (ID 1497613)\nSigned-off-by: Jan Beulich \u003cjbeulich@suse.com\u003e\n"
    },
    {
      "commit": "15a102e062af18e01daece409ee54765a3b4ec13",
      "tree": "1f97676f85efefcf39b8f98abea712c181ba215a",
      "parents": [
        "6d462830e7cf9ce7689986327be3a317f1f990da"
      ],
      "author": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Wed Jan 19 19:07:47 2022 -0500"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Thu Jan 27 11:28:41 2022 -0500"
      },
      "message": "sercon: Fix missing GET_LOW() to access rx_bytes\n\nThe variable rx_bytes is marked VARLOW, but there was a missing\nGET_LOW() to access rx_bytes.  Fix by copying rx_bytes to a local\nvariable and avoid the repetitive segment memory accesses.\n\nReported-by: Gabe Black \u003cgabe.black@gmail.com\u003e\nSigned-off-by: Volker Rümelin \u003cvr_qemu@t-online.de\u003e\nSigned-off-by: Kevin O\u0027Connor \u003ckevin@koconnor.net\u003e\n"
    },
    {
      "commit": "6d462830e7cf9ce7689986327be3a317f1f990da",
      "tree": "ba4d59fafbf6ee2e6debe1c2c8b4c1a86d799e43",
      "parents": [
        "f13b650015eba78725ceaf992b5ad6858fd77769"
      ],
      "author": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Wed Jan 19 14:08:05 2022 -0500"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Thu Jan 27 11:26:11 2022 -0500"
      },
      "message": "nvme: Only allocate one dma bounce buffer for all nvme drives\n\nThere is no need to create multiple dma bounce buffers as the BIOS\ndisk code isn\u0027t reentrant capable.\n\nAlso, verify that the allocation succeeds.\n\nSigned-off-by: Kevin O\u0027Connor \u003ckevin@koconnor.net\u003e\nReviewed-by: Alexander Graf \u003cgraf@amazon.com\u003e\n"
    },
    {
      "commit": "f13b650015eba78725ceaf992b5ad6858fd77769",
      "tree": "a3afa568bdf0f0abcc58ce2245075b9cfc748cd5",
      "parents": [
        "0a40653f3013a31f3f7aeeddd7633328469a3ad3"
      ],
      "author": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Wed Jan 19 13:20:21 2022 -0500"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Thu Jan 27 11:26:01 2022 -0500"
      },
      "message": "nvme: Build the page list in the existing dma buffer\n\nCommit 01f2736cc905d (\"nvme: Pass large I/O requests as PRP lists\")\nintroduced multi-page requests using the NVMe PRP mechanism. To store the\nlist and \"first page to write to\" hints, it added fields to the NVMe\nnamespace struct.\n\nUnfortunately, that struct resides in fseg which is read-only at runtime.\nWhile KVM ignores the read-only part and allows writes, real hardware and\nTCG adhere to the semantics and ignore writes to the fseg region. The net\neffect of that is that reads and writes were always happening on address 0,\nunless they went through the bounce buffer logic.\n\nThis patch builds the PRP maintenance data in the existing \"dma bounce\nbuffer\" and only builds it when needed.\n\nFixes: 01f2736cc905d (\"nvme: Pass large I/O requests as PRP lists\")\nReported-by: Matt DeVillier \u003cmatt.devillier@gmail.com\u003e\nSigned-off-by: Alexander Graf \u003cgraf@amazon.com\u003e\nSigned-off-by: Kevin O\u0027Connor \u003ckevin@koconnor.net\u003e\nReviewed-by: Alexander Graf \u003cgraf@amazon.com\u003e\n"
    },
    {
      "commit": "0a40653f3013a31f3f7aeeddd7633328469a3ad3",
      "tree": "95c4267bf8c5758903e8bd4418623669b9a308e4",
      "parents": [
        "9404f597b2a6aeb2e1d2b3866122ac52e5a87aeb"
      ],
      "author": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Wed Jan 19 13:01:19 2022 -0500"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Thu Jan 27 11:25:36 2022 -0500"
      },
      "message": "nvme: Pass prp1 and prp2 directly to nvme_io_xfer()\n\nWhen using a prp2 parameter, build it in nvme_prpl_xfer() and pass it\ndirectly to nvme_io_xfer().\n\nSigned-off-by: Kevin O\u0027Connor \u003ckevin@koconnor.net\u003e\nReviewed-by: Alexander Graf \u003cgraf@amazon.com\u003e\n"
    },
    {
      "commit": "9404f597b2a6aeb2e1d2b3866122ac52e5a87aeb",
      "tree": "c94aa11941061e0ccda2f2d3c5bfa34ce2b552cf",
      "parents": [
        "4eff93e7b0d093fd9347f2d533dada49854290fe"
      ],
      "author": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Wed Jan 19 12:51:55 2022 -0500"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Thu Jan 27 11:25:26 2022 -0500"
      },
      "message": "nvme: Convert nvme_build_prpl() to nvme_prpl_xfer()\n\nRename nvme_build_prpl() to nvme_prpl_xfer() and directly invoke\nnvme_io_xfer() or nvme_bounce_xfer() from that function.\n\nSigned-off-by: Kevin O\u0027Connor \u003ckevin@koconnor.net\u003e\nReviewed-by: Alexander Graf \u003cgraf@amazon.com\u003e\n"
    },
    {
      "commit": "4eff93e7b0d093fd9347f2d533dada49854290fe",
      "tree": "e5ef674c7b1404e2cb291928bf87b7929bfc4988",
      "parents": [
        "da18ec909af70c41995b700a09927762955bbf9a"
      ],
      "author": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Wed Jan 19 11:54:55 2022 -0500"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Fri Jan 21 11:23:31 2022 -0500"
      },
      "message": "nvme: Add nvme_bounce_xfer() helper function\n\nMove bounce buffer processing to a new helper function.\n\nSigned-off-by: Kevin O\u0027Connor \u003ckevin@koconnor.net\u003e\nReviewed-by: Alexander Graf \u003cgraf@amazon.com\u003e\n"
    },
    {
      "commit": "da18ec909af70c41995b700a09927762955bbf9a",
      "tree": "0de90525e374acf47c3be453ce1ab6bd6e097b1f",
      "parents": [
        "e4f02c12518c0fe8154950b2e34c56a92721626e"
      ],
      "author": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Wed Jan 19 11:45:31 2022 -0500"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Fri Jan 21 11:23:26 2022 -0500"
      },
      "message": "nvme: Rework nvme_io_readwrite() to return -1 on error\n\nRename nvme_io_readwrite() to nvme_io_xfer() and change it so it\nimplements the debugging dprintf() and it returns -1 on an error.\n\nSigned-off-by: Kevin O\u0027Connor \u003ckevin@koconnor.net\u003e\nReviewed-by: Alexander Graf \u003cgraf@amazon.com\u003e\n"
    },
    {
      "commit": "e4f02c12518c0fe8154950b2e34c56a92721626e",
      "tree": "a781845613279d7e689c0b6285a2e4269f556163",
      "parents": [
        "6a62e0cb0dfe9cd28b70547dbea5caf76847c3a9"
      ],
      "author": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Thu Jan 13 11:12:35 2022 -0500"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Fri Jan 21 11:08:33 2022 -0500"
      },
      "message": "smm: Suppress gcc array-bounds warnings\n\nAdd a hack to suppress spurious gcc array-bounds warning (on at least\ngcc v11).\n\nSigned-off-by: Kevin O\u0027Connor \u003ckevin@koconnor.net\u003e\nTested-by: Paul Menzel \u003cpmenzel@molgen.mpg.de\u003e\n"
    },
    {
      "commit": "6a62e0cb0dfe9cd28b70547dbea5caf76847c3a9",
      "tree": "3f2d9e984dbe94b58e90bfdc37e61fbd38e624c9",
      "parents": [
        "9ad4399b0e13c84cd6680a8ea6896d7133519995"
      ],
      "author": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Sun Dec 19 01:31:09 2021 -0500"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Sun Dec 19 09:45:04 2021 -0500"
      },
      "message": "scripts: Remove python23compat.py\n\nIt\u0027s simpler to use b\"\" designations around binary strings than to use\nthe as_bytes() function.\n\nSigned-off-by: Kevin O\u0027Connor \u003ckevin@koconnor.net\u003e\n"
    },
    {
      "commit": "9ad4399b0e13c84cd6680a8ea6896d7133519995",
      "tree": "e162ae50d3f1a4ae496d3d17cf713853fd2d619c",
      "parents": [
        "98dd53b99442ae15d78125b4453b1adc926e9ff3"
      ],
      "author": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Sun Dec 19 09:44:13 2021 -0500"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Sun Dec 19 09:44:30 2021 -0500"
      },
      "message": "readserial: Improve Python3 compatibility\n\nSigned-off-by: Kevin O\u0027Connor \u003ckevin@koconnor.net\u003e\n"
    },
    {
      "commit": "98dd53b99442ae15d78125b4453b1adc926e9ff3",
      "tree": "40a6f30e42a3484c065c8503ff13bb0d7b279569",
      "parents": [
        "0a1e7675f7672b29f7bca3cceb8238b4a28d2b00"
      ],
      "author": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Sat Dec 18 12:08:53 2021 -0500"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Sat Dec 18 12:08:53 2021 -0500"
      },
      "message": "memmap: Fix gcc out-of-bounds warning\n\nUse a different definition for the linker script symbol to avoid a gcc\nwarning.\n\nSigned-off-by: Kevin O\u0027Connor \u003ckevin@koconnor.net\u003e\n"
    },
    {
      "commit": "0a1e7675f7672b29f7bca3cceb8238b4a28d2b00",
      "tree": "f36cc41c9233caeadeff8d8a5df6fe035505262d",
      "parents": [
        "f9af71744a9f9a5d4804edcfcd14fd85e2d8a83b"
      ],
      "author": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Sat Dec 18 12:00:16 2021 -0500"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Sat Dec 18 12:00:16 2021 -0500"
      },
      "message": "vgasrc: Don\u0027t use VAR16 in header files to fix gcc warning\n\nSome versions of gcc complain when VAR16 is used in both the header\nand C files - use only in the C file to fix the warning.\n\nSigned-off-by: Kevin O\u0027Connor \u003ckevin@koconnor.net\u003e\n"
    },
    {
      "commit": "f9af71744a9f9a5d4804edcfcd14fd85e2d8a83b",
      "tree": "c3c80d21fa481144baf82bb8c062639c46d4e752",
      "parents": [
        "a05af290bac55be65e979e007687d4e27cfa7b8d"
      ],
      "author": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Thu Dec 16 08:20:58 2021 +0100"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Sat Dec 18 11:54:52 2021 -0500"
      },
      "message": "svgamodes: add standard 4k modes\n\nAdd all three 4k modes.  Computer monitors typically use\nthe first one (3840x2160).\n\nAdd 16 and 32 bpp variants.  24bpp is dead these days, and\nsoftware which is so old that still uses those modes most\nlikely doesn\u0027t even know what 4k is.\n\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\n"
    },
    {
      "commit": "a05af290bac55be65e979e007687d4e27cfa7b8d",
      "tree": "35275df7582a11bf214d7094d7bdad05ec15bb03",
      "parents": [
        "815d7498655b8207821d405bc49fa993702f456f"
      ],
      "author": {
        "name": "Andy Pei",
        "email": "andy.pei@intel.com",
        "time": "Tue Dec 07 09:31:08 2021 +0800"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Sat Dec 18 11:52:43 2021 -0500"
      },
      "message": "virtio-blk: split large IO according to size_max\n\nif driver reads data larger than VIRTIO_BLK_F_SIZE_MAX,\nit will cause some issue to the DMA engine.\n\nSo when upper software wants to read data larger than\nVIRTIO_BLK_F_SIZE_MAX, virtio-blk driver split one large\nrequest into multiple smaller ones.\n\nSigned-off-by: Andy Pei \u003candy.pei@intel.com\u003e\nSigned-off-by: Ding Limin \u003cdinglimin@cmss.chinamobile.com\u003e\nReviewed-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\n"
    },
    {
      "commit": "815d7498655b8207821d405bc49fa993702f456f",
      "tree": "741d2213dccab49ac13e7c5db1dcd7b0d30532d7",
      "parents": [
        "27b573d4f5a54f48f440ade9bcb5557a7d225979"
      ],
      "author": {
        "name": "Andy Pei",
        "email": "andy.pei@intel.com",
        "time": "Tue Dec 07 09:31:07 2021 +0800"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Sat Dec 18 11:52:36 2021 -0500"
      },
      "message": "virtio-blk: abstract a function named virtio_blk_op_one_segment to handle r/w request\n\nabstract virtio-blk queue operation to form a function named virtio_blk_op_one_segment\n\nSigned-off-by: Andy Pei \u003candy.pei@intel.com\u003e\nSigned-off-by: Ding Limin \u003cdinglimin@cmss.chinamobile.com\u003e\nReviewed-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\n"
    },
    {
      "commit": "27b573d4f5a54f48f440ade9bcb5557a7d225979",
      "tree": "731740ca86b22b21b8de937f47bcaa73c9ea8e0f",
      "parents": [
        "b06d956d752a6fa88ef05ebcccb614894948897c"
      ],
      "author": {
        "name": "Andy Pei",
        "email": "andy.pei@intel.com",
        "time": "Tue Dec 07 09:31:06 2021 +0800"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Sat Dec 18 11:52:22 2021 -0500"
      },
      "message": "virtio-blk: add feature VIRTIO_BLK_F_SIZE_MAX and VIRTIO_BLK_F_SEG_MAX\n\naccording to virtio spec, add feature VIRTIO_BLK_F_SIZE_MAX\nand VIRTIO_BLK_F_SEG_MAX parse to virtio blk driver.\n\nSigned-off-by: Andy Pei \u003candy.pei@intel.com\u003e\nSigned-off-by: Ding Limin \u003cdinglimin@cmss.chinamobile.com\u003e\nReviewed-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\n"
    },
    {
      "commit": "b06d956d752a6fa88ef05ebcccb614894948897c",
      "tree": "ad901aecd24ddb33637f6dbcc9a36df2e5ddaba6",
      "parents": [
        "bba24ef84b8d38bdc30a8d088874f933091605e1"
      ],
      "author": {
        "name": "Igor Mammedov",
        "email": "imammedo@redhat.com",
        "time": "Mon Nov 29 06:48:12 2021 -0500"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Sat Dec 18 11:49:22 2021 -0500"
      },
      "message": "pci: let firmware reserve IO for pcie-pci-bridge\n\nWith [1] patch hotplug of rtl8139 succeeds, with caveat that it\nfails to initialize IO bar, which is caused by [2] that makes\nfirmware skip IO reservation for any PCIe device, which isn\u0027t\ncorrect in case of pcie-pci-bridge.\nFix it by exposing hotplug type and making IO resource optional\nonly if PCIe hotplug is in use.\n\n[1]\n \"pci: reserve resources for pcie-pci-bridge to fix regressed hotplug on q35\"\n[2]\nFixes: 76327b9f32a (\"fw/pci: do not automatically allocate IO region for PCIe bridges\")\nSigned-off-by: Igor Mammedov imammedo@redhat.com\nTested-by: Laurent Vivier \u003clvivier@redhat.com\u003e\nAcked-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nCC: mapfelba@redhat.com\nCC: kraxel@redhat.com\nCC: mst@redhat.com\nCC: lvivier@redhat.com\nCC: jusual@redhat.com\n"
    },
    {
      "commit": "bba24ef84b8d38bdc30a8d088874f933091605e1",
      "tree": "8d9f7f44e7fa060712ca1da54bbe025d4dbb8b75",
      "parents": [
        "fa692768020e42a5eca62c13b6be8a03e926a3b3"
      ],
      "author": {
        "name": "Igor Mammedov",
        "email": "imammedo@redhat.com",
        "time": "Mon Nov 29 06:48:11 2021 -0500"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Sat Dec 18 11:48:35 2021 -0500"
      },
      "message": "pci: reserve resources for pcie-pci-bridge to fix regressed hotplug on q35\n\nIf QEMU is started with unpopulated pcie-pci-bridge with ACPI PCI\nhotplug enabled (default since QEMU-6.1), hotplugging a PCI device\ninto one of the bridge slots fails due to lack of resources.\n\nonce linux guest is booted (test used Fedora 34), hotplug NIC from\nQEMU monitor:\n  (qemu) device_add rtl8139,bus\u003dpcie-pci-bridge-0,addr\u003d0x2\n\nguest fails hotplug with:\n  pci 0000:01:02.0: [10ec:8139] type 00 class 0x020000\n  pci 0000:01:02.0: reg 0x10: [io  0x0000-0x00ff]\n  pci 0000:01:02.0: reg 0x14: [mem 0x00000000-0x000000ff]\n  pci 0000:01:02.0: reg 0x30: [mem 0x00000000-0x0003ffff pref]\n  pci 0000:01:02.0: BAR 6: no space for [mem size 0x00040000 pref]\n  pci 0000:01:02.0: BAR 6: failed to assign [mem size 0x00040000 pref]\n  pci 0000:01:02.0: BAR 0: no space for [io  size 0x0100]\n  pci 0000:01:02.0: BAR 0: failed to assign [io  size 0x0100]\n  pci 0000:01:02.0: BAR 1: no space for [mem size 0x00000100]\n  pci 0000:01:02.0: BAR 1: failed to assign [mem size 0x00000100]\n  8139cp: 8139cp: 10/100 PCI Ethernet driver v1.3 (Mar 22, 2004)\n  PCI Interrupt Link [GSIG] enabled at IRQ 22\n  8139cp 0000:01:02.0: no MMIO resource\n  8139cp: probe of 0000:01:02.0 failed with error -5\n\nReason for this is that commit [1] didn\u0027t take into account\npcie-pci-bridge, marking bridge as non hotpluggable instead of\nhandling it as possibly SHPC capable bridge.\nFix issue by checking if pcie-pci-bridge is SHPC capable and\nif it is mark it as hotpluggable.\n\nFixes regression in QEMU-6.1 and later, since it was switched\nto ACPI based PCI hotplug on Q35 by default at that time.\n\nRHBZ: https://bugzilla.redhat.com/show_bug.cgi?id\u003d2001732\n[1]\nFixes: 3aa31d7d637 (\"hw/pci: reserve IO and mem for pci express downstream ports with no devices attached\")\nSigned-off-by: Igor Mammedov imammedo@redhat.com\nAcked-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nTested-by: Laurent Vivier \u003clvivier@redhat.com\u003e\nCC: mapfelba@redhat.com\nCC: kraxel@redhat.com\nCC: mst@redhat.com\nCC: lvivier@redhat.com\nCC: jusual@redhat.com\n"
    },
    {
      "commit": "fa692768020e42a5eca62c13b6be8a03e926a3b3",
      "tree": "d6aa9b1ca6b36bf99e0594f166f14b93440c256d",
      "parents": [
        "401d3132fd5c212d3e7fea5fa79afa71236ca52e"
      ],
      "author": {
        "name": "Eduardo Habkost",
        "email": "ehabkost@redhat.com",
        "time": "Thu Dec 10 14:11:34 2020 -0500"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Sat Dec 18 11:39:13 2021 -0500"
      },
      "message": "smbios: Support SMBIOS 3.0 entry point at smbios_romfile_setup()\n\nSupport SMBIOS 3.0 entry points if exposed by QEMU in fw_cfg.\n\nSigned-off-by: Eduardo Habkost \u003cehabkost@redhat.com\u003e\n"
    },
    {
      "commit": "401d3132fd5c212d3e7fea5fa79afa71236ca52e",
      "tree": "42b08bb7db879414f86158ea1e1a6c8a1a8cbcfd",
      "parents": [
        "eafea937e4c03a471ada20d88d39e7aa69a57530"
      ],
      "author": {
        "name": "Eduardo Habkost",
        "email": "ehabkost@redhat.com",
        "time": "Thu Dec 10 15:19:30 2020 -0500"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Sat Dec 18 11:39:13 2021 -0500"
      },
      "message": "smbios: Support SMBIOS 3.0 entry point at copy_table()\n\nThis will make coreboot code (scan_tables()) and xen code\n(xen_biostable_setup()) copy SMBIOS 3.0 entry points if\nfound.\n\nSigned-off-by: Eduardo Habkost \u003cehabkost@redhat.com\u003e\n"
    },
    {
      "commit": "eafea937e4c03a471ada20d88d39e7aa69a57530",
      "tree": "5310ab320126516599a41600b4c1643af4777ddb",
      "parents": [
        "ddd0f7b877695bc15a88f5f0077868329518d7bf"
      ],
      "author": {
        "name": "Eduardo Habkost",
        "email": "ehabkost@redhat.com",
        "time": "Thu Dec 10 10:32:44 2020 -0500"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Sat Dec 18 11:39:13 2021 -0500"
      },
      "message": "smbios: copy_smbios_30() function\n\nAdd new copy_smbios_30() function, that will be used to support\nSMBIOS 3.0 entry points.\n\nThe SMBIOS 3.0 entry point will be tracked in a separate\nSMBios30Addr variable, because both 2.1 and 3.0 entry points may\nexist at the same time.\n\nAdjust the smbios_get_tables(), smbios_major_version(), and\nsmbios_minor_version() helpers to use the SMBIOS 3.0 entry point\nif available.\n\nSigned-off-by: Eduardo Habkost \u003cehabkost@redhat.com\u003e\n"
    },
    {
      "commit": "ddd0f7b877695bc15a88f5f0077868329518d7bf",
      "tree": "c5ec70385ecf4db6040355d61c0cdf922c885523",
      "parents": [
        "6290dcede4d6a7de9d30e42f325aaf0c8d8baaee"
      ],
      "author": {
        "name": "Eduardo Habkost",
        "email": "ehabkost@redhat.com",
        "time": "Thu Dec 10 14:07:16 2020 -0500"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Sat Dec 18 11:39:13 2021 -0500"
      },
      "message": "smbios: Make smbios_build_tables() ready for 64-bit tables\n\nMake smbios_build_tables() get u64 address and u32 length\narguments, making it usable for SMBIOS 3.0.  Adapt\nsmbios_21_setup_entry_point() to use intermediate variables when\ncalling smbios_build_tables().\n\nSigned-off-by: Eduardo Habkost \u003cehabkost@redhat.com\u003e\n"
    },
    {
      "commit": "6290dcede4d6a7de9d30e42f325aaf0c8d8baaee",
      "tree": "b5b7fc81384683a5bb2ce47bd4cece57ae348eb6",
      "parents": [
        "1daafc8ba89c2494c330804d7c1d8a4dfc158b35"
      ],
      "author": {
        "name": "Eduardo Habkost",
        "email": "ehabkost@redhat.com",
        "time": "Thu Dec 10 13:29:29 2020 -0500"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Sat Dec 18 11:39:13 2021 -0500"
      },
      "message": "smbios: Make some smbios_build_tables() arguments optional\n\nMake max_structure_size and number_of_structures optional,\nas we don\u0027t have those fields in SMBIOS 3.0 entry points.\n\nSigned-off-by: Eduardo Habkost \u003cehabkost@redhat.com\u003e\n"
    },
    {
      "commit": "1daafc8ba89c2494c330804d7c1d8a4dfc158b35",
      "tree": "c01b4486c966c351f2d715f9bea341db921757a8",
      "parents": [
        "4e99229e326c7643b7c488d0a0690071d6a8c8ec"
      ],
      "author": {
        "name": "Eduardo Habkost",
        "email": "ehabkost@redhat.com",
        "time": "Thu Dec 10 13:52:14 2020 -0500"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Sat Dec 18 11:39:13 2021 -0500"
      },
      "message": "smbios: smbios_21_setup_entry_point() function\n\nExtract the code specific for building the SMBIOS 2.1 entry point\nfrom smbios_romfile_setup() to a new\nsmbios_21_setup_entry_point() function.\n\nSigned-off-by: Eduardo Habkost \u003cehabkost@redhat.com\u003e\n"
    },
    {
      "commit": "4e99229e326c7643b7c488d0a0690071d6a8c8ec",
      "tree": "437a82dd63c94815ef2af80d75226a71c267a1a9",
      "parents": [
        "31eac039b2511dd58fb42998dd983f9f80f7b269"
      ],
      "author": {
        "name": "Eduardo Habkost",
        "email": "ehabkost@redhat.com",
        "time": "Thu Dec 10 13:10:15 2020 -0500"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Sat Dec 18 11:39:13 2021 -0500"
      },
      "message": "smbios: Make smbios_build_tables() more generic\n\nInstead of taking a SMBIOS 2.1 entry point as argument, make\nsmbios_build_tables() take pointers to the fields it actually\nchanges.  This will allow us to reuse the function for SMBIOS 3.0\nlater.\n\nSigned-off-by: Eduardo Habkost \u003cehabkost@redhat.com\u003e\n"
    },
    {
      "commit": "31eac039b2511dd58fb42998dd983f9f80f7b269",
      "tree": "4d101124097a9adfba0d6fb5a644d00e058ecf7e",
      "parents": [
        "34c3fce6e7361c2e38f22a3d973d72b994285313"
      ],
      "author": {
        "name": "Eduardo Habkost",
        "email": "ehabkost@redhat.com",
        "time": "Thu Dec 10 13:05:17 2020 -0500"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Sat Dec 18 11:39:13 2021 -0500"
      },
      "message": "smbios: Extract SMBIOS table building code to separate function\n\nMove the code that builds the SMBIOS tables to a separate\nsmbios_build_tables() function, to keep it isolated from the code\nthat initializes the SMBIOS entry point.\n\nThew new function will still take a smbios_21_entry_point\nargument to make code review easier, but this will be changed by\nthe next commits.\n\nSigned-off-by: Eduardo Habkost \u003cehabkost@redhat.com\u003e\n"
    },
    {
      "commit": "34c3fce6e7361c2e38f22a3d973d72b994285313",
      "tree": "3ddfb3bca4e348d205350a0db63698cc2f82e3a3",
      "parents": [
        "33fa7082b870c387e839eb8b5a29738442a991ae"
      ],
      "author": {
        "name": "Eduardo Habkost",
        "email": "ehabkost@redhat.com",
        "time": "Thu Dec 10 12:32:37 2020 -0500"
      },
      "committer": {
        "name": "Kevin O\u0027Connor",
        "email": "kevin@koconnor.net",
        "time": "Sat Dec 18 11:39:13 2021 -0500"
      },
      "message": "smbios: Use smbios_next() at smbios_romfile_setup()\n\nUse smbios_next() instead of smbios_21_next(), to make the code\nmore generic and reusable for SMBIOS 3.0 support.\n\nNote that `qtables_len` is initialized to `ftables-\u003esize` instead\nof `ep.structure_table_length` now, but both fields are\nguaranteed to have exactly the same value.\n\nSigned-off-by: Eduardo Habkost \u003cehabkost@redhat.com\u003e\n"
    }
  ],
  "next": "33fa7082b870c387e839eb8b5a29738442a991ae"
}
