)]}'
{
  "commit": "bacef661acdb634170a8faddbc1cf28e8f8b9eee",
  "tree": "76479c7d6f7b6aed38000ec60e5d739e2359a7f9",
  "parents": [
    "eea5b5510fc5545d15b69da8e485a7424ae388cf"
  ],
  "author": {
    "name": "Jan Beulich",
    "email": "JBeulich@suse.com",
    "time": "Fri May 25 16:20:31 2012 +0100"
  },
  "committer": {
    "name": "Ingo Molnar",
    "email": "mingo@kernel.org",
    "time": "Wed Jun 06 11:48:05 2012 +0200"
  },
  "message": "x86-64/efi: Use EFI to deal with platform wall clock\n\nOther than ix86, x86-64 on EFI so far didn\u0027t set the\n{g,s}et_wallclock accessors to the EFI routines, thus\nincorrectly using raw RTC accesses instead.\n\nSimply removing the #ifdef around the respective code isn\u0027t\nenough, however: While so far early get-time calls were done in\nphysical mode, this doesn\u0027t work properly for x86-64, as virtual\naddresses would still need to be set up for all runtime regions\n(which wasn\u0027t the case on the system I have access to), so\ninstead the patch moves the call to efi_enter_virtual_mode()\nahead (which in turn allows to drop all code related to calling\nefi-get-time in physical mode).\n\nAdditionally the earlier calling of efi_set_executable()\nrequires the CPA code to cope, i.e. during early boot it must be\navoided to call cpa_flush_array(), as the first thing this\nfunction does is a BUG_ON(irqs_disabled()).\n\nAlso make the two EFI functions in question here static -\nthey\u0027re not being referenced elsewhere.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@suse.com\u003e\nTested-by: Matt Fleming \u003cmatt.fleming@intel.com\u003e\nAcked-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/4FBFBF5F020000780008637F@nat28.tlf.novell.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e1ebde3152104840961fe6e953b28d628f4bab82",
      "old_mode": 33188,
      "old_path": "arch/x86/mm/pageattr.c",
      "new_id": "ee09aca6399802aa1a66c28bca84dd4d46ae6d52",
      "new_mode": 33188,
      "new_path": "arch/x86/mm/pageattr.c"
    },
    {
      "type": "modify",
      "old_id": "92660edaa1e72de7b027034d83bb9905d0aebe3a",
      "old_mode": 33188,
      "old_path": "arch/x86/platform/efi/efi.c",
      "new_id": "2dc29f51e75aadbfaa29a0c70be54ce02b291ea9",
      "new_mode": 33188,
      "new_path": "arch/x86/platform/efi/efi.c"
    },
    {
      "type": "modify",
      "old_id": "ec45ccd8708a85f54a903d769b0b5c2fbaf8bc3f",
      "old_mode": 33188,
      "old_path": "include/linux/efi.h",
      "new_id": "103adc6d7e3a740dc72cb9f47caa0def680fe1f9",
      "new_mode": 33188,
      "new_path": "include/linux/efi.h"
    },
    {
      "type": "modify",
      "old_id": "1ca6b32c482875cbfd90fb315831c4c110d28414",
      "old_mode": 33188,
      "old_path": "init/main.c",
      "new_id": "eef30128321ab76d697121c1b74bf7d6ab32b52c",
      "new_mode": 33188,
      "new_path": "init/main.c"
    }
  ]
}
