25 Jul, 2013

1 commit


10 Jul, 2013

1 commit

  • Integrates the LZ4 decompression code to the arm pre-boot code.

    Signed-off-by: Kyungsik Lee
    Cc: "H. Peter Anvin"
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: Russell King
    Cc: Borislav Petkov
    Cc: Florian Fainelli
    Cc: Yann Collet
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kyungsik Lee
     

22 Feb, 2013

1 commit

  • Pull x86 mm changes from Peter Anvin:
    "This is a huge set of several partly interrelated (and concurrently
    developed) changes, which is why the branch history is messier than
    one would like.

    The *really* big items are two humonguous patchsets mostly developed
    by Yinghai Lu at my request, which completely revamps the way we
    create initial page tables. In particular, rather than estimating how
    much memory we will need for page tables and then build them into that
    memory -- a calculation that has shown to be incredibly fragile -- we
    now build them (on 64 bits) with the aid of a "pseudo-linear mode" --
    a #PF handler which creates temporary page tables on demand.

    This has several advantages:

    1. It makes it much easier to support things that need access to data
    very early (a followon patchset uses this to load microcode way
    early in the kernel startup).

    2. It allows the kernel and all the kernel data objects to be invoked
    from above the 4 GB limit. This allows kdump to work on very large
    systems.

    3. It greatly reduces the difference between Xen and native (Xen's
    equivalent of the #PF handler are the temporary page tables created
    by the domain builder), eliminating a bunch of fragile hooks.

    The patch series also gets us a bit closer to W^X.

    Additional work in this pull is the 64-bit get_user() work which you
    were also involved with, and a bunch of cleanups/speedups to
    __phys_addr()/__pa()."

    * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (105 commits)
    x86, mm: Move reserving low memory later in initialization
    x86, doc: Clarify the use of asm("%edx") in uaccess.h
    x86, mm: Redesign get_user with a __builtin_choose_expr hack
    x86: Be consistent with data size in getuser.S
    x86, mm: Use a bitfield to mask nuisance get_user() warnings
    x86/kvm: Fix compile warning in kvm_register_steal_time()
    x86-32: Add support for 64bit get_user()
    x86-32, mm: Remove reference to alloc_remap()
    x86-32, mm: Remove reference to resume_map_numa_kva()
    x86-32, mm: Rip out x86_32 NUMA remapping code
    x86/numa: Use __pa_nodebug() instead
    x86: Don't panic if can not alloc buffer for swiotlb
    mm: Add alloc_bootmem_low_pages_nopanic()
    x86, 64bit, mm: hibernate use generic mapping_init
    x86, 64bit, mm: Mark data/bss/brk to nx
    x86: Merge early kernel reserve for 32bit and 64bit
    x86: Add Crash kernel low reservation
    x86, kdump: Remove crashkernel range find limit for 64bit
    memblock: Add memblock_mem_size()
    x86, boot: Not need to check setup_header version for setup_data
    ...

    Linus Torvalds
     

09 Feb, 2013

1 commit

  • OVMF (an implementation of UEFI based on TianoCore used in virtual
    environments) now has the ability to boot Linux natively; this is used
    for "qemu -kernel" and similar things in a UEFI environment.

    Accordingly, assign it a bootloader ID.

    Signed-off-by: H. Peter Anvin
    Cc: David Woodhouse

    H. Peter Anvin
     

01 Feb, 2013

1 commit


30 Jan, 2013

1 commit

  • Now 64bit entry is fixed on 0x200, can not be changed anymore.

    Update the comments to reflect that.

    Also put info about it in boot.txt

    -v2: fix some grammar error

    Signed-off-by: Yinghai Lu
    Link: http://lkml.kernel.org/r/1359058816-7615-27-git-send-email-yinghai@kernel.org
    Cc: Rob Landley
    Cc: Matt Fleming
    Signed-off-by: H. Peter Anvin

    Yinghai Lu
     

28 Jan, 2013

1 commit

  • Define the 2.12 bzImage boot protocol: add xloadflags and additional
    fields to allow the command line, initramfs and struct boot_params to
    live above the 4 GiB mark.

    The xloadflags now communicates if this is a 64-bit kernel with the
    legacy 64-bit entry point and which of the EFI handover entry points
    are supported.

    Avoid adding new read flags to loadflags because of claimed
    bootloaders testing the whole byte for == 1 to determine bzImageness
    at least until the issue can be researched further.

    This is based on patches by Yinghai Lu and David Woodhouse.

    Originally-by: Yinghai Lu
    Originally-by: David Woodhouse
    Acked-by: Yinghai Lu
    Acked-by: David Woodhouse
    Acked-by: Matt Fleming
    Signed-off-by: H. Peter Anvin
    Link: http://lkml.kernel.org/r/1359058816-7615-26-git-send-email-yinghai@kernel.org
    Cc: Rob Landley
    Cc: Gokul Caushik
    Cc: Josh Triplett
    Cc: Joe Millenbach

    H. Peter Anvin
     

20 Dec, 2012

1 commit


13 Dec, 2012

2 commits


26 Oct, 2012

1 commit


27 Jul, 2012

1 commit

  • Pul x86/efi changes from Ingo Molnar:
    "This tree adds an EFI bootloader handover protocol, which, once
    supported on the bootloader side, will make bootup faster and might
    result in simpler bootloaders.

    The other change activates the EFI wall clock time accessors on x86-64
    as well, instead of the legacy RTC readout."

    * 'x86-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86, efi: Handover Protocol
    x86-64/efi: Use EFI to deal with platform wall clock

    Linus Torvalds
     

24 Jul, 2012

1 commit

  • Assign a bootloader ID for Sebastian Plotz' "Minimal Linux Bootloader"
    (http://sebastian-plotz.blogspot.de). Sebastian has agreed to make
    this the pilot for the use of extended boot loader IDs, so this is
    assigned version ID 0x11 (avoid assigning 0x10 for now to catch bugs
    with people putting E in the primary ID but leaving the extended ID as
    zero.)

    Signed-off-by: H. Peter Anvin
    Cc: Sebastian Plotz
    Link: http://lkml.kernel.org/n/tip-nq318h0okuaem8x9dpv9854k@git.kernel.org

    H. Peter Anvin
     

21 Jul, 2012

1 commit

  • As things currently stand, traditional EFI boot loaders and the EFI
    boot stub are carrying essentially the same initialisation code
    required to setup an EFI machine for booting a kernel. There's really
    no need to have this code in two places and the hope is that, with
    this new protocol, initialisation and booting of the kernel can be
    left solely to the kernel's EFI boot stub. The responsibilities of the
    boot loader then become,

    o Loading the kernel image from boot media

    File system code still needs to be carried by boot loaders for the
    scenario where the kernel and initrd files reside on a file system
    that the EFI firmware doesn't natively understand, such as ext4, etc.

    o Providing a user interface

    Boot loaders still need to display any menus/interfaces, for example
    to allow the user to select from a list of kernels.

    Bump the boot protocol number because we added the 'handover_offset'
    field to indicate the location of the handover protocol entry point.

    Cc: H. Peter Anvin
    Cc: Peter Jones
    Cc: Ingo Molnar
    Signed-off-by: Matt Fleming
    Acked-and-Tested-by: Matthew Garrett
    Link: http://lkml.kernel.org/r/1342689828-16815-1-git-send-email-matt@console-pimps.org
    Signed-off-by: H. Peter Anvin

    Matt Fleming
     

13 Jul, 2011

1 commit

  • The real-mode kernel header init_size field is located at 0x260 per the field
    listing in th e"REAL-MODE KERNEL HEADER" section. It is listed as 0x25c in
    the "DETAILS OF HEADER FIELDS" section, which overlaps with pref_address.
    Correct the details listing to 0x260.

    Signed-off-by: Darren Hart
    Link: http://lkml.kernel.org/r/541cf88e2dfe5b8186d8b96b136d892e769a68c1.1310441260.git.dvhart@linux.intel.com
    CC: H. Peter Anvin
    Signed-off-by: H. Peter Anvin

    Darren Hart
     

14 Jan, 2011

1 commit

  • This integrates the XZ decompression code to the x86 pre-boot code.

    mkpiggy.c is updated to reserve about 32 KiB more buffer safety margin for
    kernel decompression. It is done unconditionally for all decompressors to
    keep the code simpler.

    The XZ decompressor needs around 30 KiB of heap, so the heap size is
    increased to 32 KiB on both x86-32 and x86-64.

    Documentation/x86/boot.txt is updated to list the XZ magic number.

    With the x86 BCJ filter in XZ, XZ-compressed x86 kernel tends to be a few
    percent smaller than the equivalent LZMA-compressed kernel.

    Signed-off-by: Lasse Collin
    Cc: "H. Peter Anvin"
    Cc: Alain Knaff
    Cc: Albin Tonnerre
    Cc: Phillip Lougher
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Lasse Collin
     

12 Nov, 2010

1 commit


31 Aug, 2009

1 commit


12 May, 2009

2 commits

  • A long ago, in days of yore, it all began with a god named Thor.
    There were vikings and boats and some plans for a Linux kernel
    header. Unfortunately, a single 8-bit field was used for bootloader
    type and version. This has generally worked without *too* much pain,
    but we're getting close to flat running out of ID fields.

    Add extension fields for both type and version. The type will be
    extended if it the old field is 0xE; the version is a simple MSB
    extension.

    Keep /proc/sys/kernel/bootloader_type containing
    (type << 4) + (ver & 0xf) for backwards compatiblity, but also add
    /proc/sys/kernel/bootloader_version which contains the full version
    number.

    [ Impact: new feature to support more bootloaders ]

    Signed-off-by: H. Peter Anvin

    H. Peter Anvin
     
  • Document the new bzImage fields for kernel memory placement.

    [ Impact: adds documentation ]

    Signed-off-by: H. Peter Anvin

    H. Peter Anvin
     

04 Mar, 2009

1 commit


15 Jan, 2009

2 commits


05 Jan, 2009

1 commit


17 Dec, 2008

1 commit

  • Impact: clarify documentation

    Documentation/x86/boot.txt describes payload_offset as the offset
    from the end of the real-mode code. In fact, it is more accurately
    described as the offset from the beginning of the protected-mode
    code, as (a) this is how it is actually calculated and (b) the padding
    after the real-mode code is not included in the offset.

    Signed-off-by: Philipp Kohlbecher
    Acked-by: Ian Campbell
    Acked-by: H. Peter Anvin
    Signed-off-by: Ingo Molnar

    Philipp Kohlbecher
     

12 Nov, 2008

1 commit


23 Jul, 2008

2 commits