)]}'
{
  "commit": "fcaf6ea5a849b9ca73010bbd40f87e163b536cd1",
  "tree": "cffb33965f191d0583e759a7685fcc05b99f3624",
  "parents": [
    "a40fba685b7412f4b483b7d3b08347714469c32d"
  ],
  "author": {
    "name": "Ard Biesheuvel",
    "email": "ardb@kernel.org",
    "time": "Sun Jul 02 11:50:12 2023 +0200"
  },
  "committer": {
    "name": "Ard Biesheuvel",
    "email": "ardb@kernel.org",
    "time": "Fri Aug 18 13:18:05 2023 +0200"
  },
  "message": "efi/x86: Rely on compiler to emit MS ABI calls\n\nWhen EFI support was added to the x86_64 port originally, GCC did not\nimplement support for emitting procedure calls using the MS calling\nconvention, which deviates from the SysV one used in Linux.\n\nHowever, this support has been added a long time ago, and the EFI stub\n(which runs in a different execution context) has already been updated\nto simply rely on the __attribute__((ms_abi)) annotations of the EFI\nfunction pointers, resulting in both GCC and Clang doing the right\nthing, as long as the correct stack alignment is being used.\n\nThe EFI stub runs on the stack provided by the firmware, and maintains\n16 byte alignment internally, but the core x86_64 code does not, so\nexplicit stack realignment is needed, and this has been dealt with in\na previous patch. So the asm wrapper has become redundant, and can be\ndropped.\n\nNote that one of the EFI runtime services returns void so a trick is\nneeded to make the compiler ignore the return value in that case, or an\nerror will be triggered.\n\nSigned-off-by: Ard Biesheuvel \u003cardb@kernel.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c47f2d49e6bc6a09d36b5160513a9a51f7f5e6e4",
      "old_mode": 33188,
      "old_path": "arch/x86/include/asm/efi.h",
      "new_id": "f5ac4dbecafe7f370dc8cc09990a351af982dce3",
      "new_mode": 33188,
      "new_path": "arch/x86/include/asm/efi.h"
    },
    {
      "type": "modify",
      "old_id": "684ac27cdf7cabfe827a45eb5e57df9532abaec0",
      "old_mode": 33188,
      "old_path": "arch/x86/platform/efi/Makefile",
      "new_id": "6dbd9533c4ce088ca2408746858d6d8fc8c60de0",
      "new_mode": 33188,
      "new_path": "arch/x86/platform/efi/Makefile"
    },
    {
      "type": "delete",
      "old_id": "2206b8bc47b8a75749ecbccdd8407fc2d2d58592",
      "old_mode": 33188,
      "old_path": "arch/x86/platform/efi/efi_stub_64.S",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    }
  ]
}
