07 Sep, 2013

1 commit

  • Pull trivial tree from Jiri Kosina:
    "The usual trivial updates all over the tree -- mostly typo fixes and
    documentation updates"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (52 commits)
    doc: Documentation/cputopology.txt fix typo
    treewide: Convert retrun typos to return
    Fix comment typo for init_cma_reserved_pageblock
    Documentation/trace: Correcting and extending tracepoint documentation
    mm/hotplug: fix a typo in Documentation/memory-hotplug.txt
    power: Documentation: Update s2ram link
    doc: fix a typo in Documentation/00-INDEX
    Documentation/printk-formats.txt: No casts needed for u64/s64
    doc: Fix typo "is is" in Documentations
    treewide: Fix printks with 0x%#
    zram: doc fixes
    Documentation/kmemcheck: update kmemcheck documentation
    doc: documentation/hwspinlock.txt fix typo
    PM / Hibernate: add section for resume options
    doc: filesystems : Fix typo in Documentations/filesystems
    scsi/megaraid fixed several typos in comments
    ppc: init_32: Fix error typo "CONFIG_START_KERNEL"
    treewide: Add __GFP_NOWARN to k.alloc calls with v.alloc fallbacks
    page_isolation: Fix a comment typo in test_pages_isolated()
    doc: fix a typo about irq affinity
    ...

    Linus Torvalds
     

12 Aug, 2013

1 commit


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
     

09 Jul, 2013

1 commit


31 May, 2013

1 commit


30 Apr, 2013

1 commit


11 Apr, 2013

1 commit

  • Documentation/kernel-parameters.txt and
    Documentation/x86/x86_64/boot-options.txt contain virtually
    identical text describing earlyprintk.

    This consolidates the two copies and updates the documentation a
    bit. No one ever documented the:

    earlyprintk=serial,0x1008,115200

    syntax, nor mentioned that ARM is now a supported earlyprintk
    arch.

    Signed-off-by: Dave Hansen
    Cc: Rob Landley
    Cc: Catalin Marinas
    Cc: Dave Hansen
    Link: http://lkml.kernel.org/r/20130410210338.E2930E98@viggo.jf.intel.com
    Signed-off-by: Ingo Molnar

    Dave Hansen
     

03 Apr, 2013

1 commit


23 Feb, 2013

1 commit

  • Pull x86 microcode loading update from Peter Anvin:
    "This patchset lets us update the CPU microcode very, very early in
    initialization if the BIOS fails to do so (never happens, right?)

    This is handy for dealing with things like the Atom erratum where we
    have to run without PSE because microcode loading happens too late.

    As I mentioned in the x86/mm push request it depends on that
    infrastructure but it is otherwise a standalone feature."

    * 'x86/microcode' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/Kconfig: Make early microcode loading a configuration feature
    x86/mm/init.c: Copy ucode from initrd image to kernel memory
    x86/head64.c: Early update ucode in 64-bit
    x86/head_32.S: Early update ucode in 32-bit
    x86/microcode_intel_early.c: Early update ucode on Intel's CPU
    x86/tlbflush.h: Define __native_flush_tlb_global_irq_disabled()
    x86/microcode_intel_lib.c: Early update ucode on Intel's CPU
    x86/microcode_core_early.c: Define interfaces for early loading ucode
    x86/common.c: load ucode in 64 bit or show loading ucode info in 32 bit on AP
    x86/common.c: Make have_cpuid_p() a global function
    x86/microcode_intel.h: Define functions and macros for early loading ucode
    x86, doc: Documentation for early microcode loading

    Linus Torvalds
     

22 Feb, 2013

2 commits

  • 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
     
  • Pull trivial tree from Jiri Kosina:
    "Assorted tiny fixes queued in trivial tree"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (22 commits)
    DocBook: update EXPORT_SYMBOL entry to point at export.h
    Documentation: update top level 00-INDEX file with new additions
    ARM: at91/ide: remove unsused at91-ide Kconfig entry
    percpu_counter.h: comment code for better readability
    x86, efi: fix comment typo in head_32.S
    IB: cxgb3: delay freeing mem untill entirely done with it
    net: mvneta: remove unneeded version.h include
    time: x86: report_lost_ticks doesn't exist any more
    pcmcia: avoid static analysis complaint about use-after-free
    fs/jfs: Fix typo in comment : 'how may' -> 'how many'
    of: add missing documentation for of_platform_populate()
    btrfs: remove unnecessary cur_trans set before goto loop in join_transaction
    sound: soc: Fix typo in sound/codecs
    treewide: Fix typo in various drivers
    btrfs: fix comment typos
    Update ibmvscsi module name in Kconfig.
    powerpc: fix typo (utilties -> utilities)
    of: fix spelling mistake in comment
    h8300: Fix home page URL in h8300/README
    xtensa: Fix home page URL in Kconfig
    ...

    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

2 commits


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
     

29 Jan, 2013

1 commit


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
     

23 Jan, 2013

1 commit


20 Dec, 2012

1 commit


13 Dec, 2012

2 commits


26 Oct, 2012

1 commit


28 Sep, 2012

1 commit

  • The ACPI spec doesn't provide for a way for the bios to pass down
    recommended thresholds to the OS on a _per-bank_ basis. This patch adds
    a new boot option, which if passed, tells Linux to use CMCI thresholds
    set by the bios.

    As fail-safe, we initialize threshold to 1 if some banks have not been
    initialized by the bios and warn the user.

    Signed-off-by: Naveen N. Rao
    Signed-off-by: Tony Luck

    Naveen N. Rao
     

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
     

02 Jun, 2012

1 commit

  • Since we can't expect every user to read the EFI boot stub code it
    seems prudent to have a couple of paragraphs explaining what it is and
    how it works.

    The "initrd=" option in particular is tricky because it only
    understands absolute EFI-style paths (backslashes as directory
    separators), and until now this hasn't been documented anywhere. This
    has tripped up a couple of users.

    Cc: Matthew Garrett
    Cc: Randy Dunlap
    Signed-off-by: Matt Fleming
    Link: http://lkml.kernel.org/r/1331907517-3985-4-git-send-email-matt@console-pimps.org
    Signed-off-by: H. Peter Anvin

    Matt Fleming
     

16 Aug, 2011

1 commit

  • Commit 3ae36655b97a03fa1decf72f04078ef945647c1a (x86-64: Rework vsyscall
    emulation and add vsyscall= parameter) removed the special use of the
    0xcc IDT vector.

    Remove it from Documentation/x86/entry_64.txt also.

    Signed-off-by: Cesar Eduardo Barros
    Acked-by: Andy Lutomirski
    Link: http://lkml.kernel.org/r/1313447210-9149-1-git-send-email-cesarb@cesarb.net
    Signed-off-by: H. Peter Anvin

    Cesar Eduardo Barros
     

23 Jul, 2011

1 commit

  • * 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86-64, vdso: Do not allocate memory for the vDSO
    clocksource: Change __ARCH_HAS_CLOCKSOURCE_DATA to a CONFIG option
    x86, vdso: Drop now wrong comment
    Document the vDSO and add a reference parser
    ia64: Replace clocksource.fsys_mmio with generic arch data
    x86-64: Move vread_tsc and vread_hpet into the vDSO
    clocksource: Replace vread with generic arch data
    x86-64: Add --no-undefined to vDSO build
    x86-64: Allow alternative patching in the vDSO
    x86: Make alternative instruction pointers relative
    x86-64: Improve vsyscall emulation CS and RIP handling
    x86-64: Emulate legacy vsyscalls
    x86-64: Fill unused parts of the vsyscall page with 0xcc
    x86-64: Remove vsyscall number 3 (venosys)
    x86-64: Map the HPET NX
    x86-64: Remove kernel.vsyscall64 sysctl
    x86-64: Give vvars their own page
    x86-64: Document some of entry_64.S
    x86-64: Fix alignment of jiffies variable

    Linus Torvalds
     

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
     

06 Jun, 2011

1 commit

  • Signed-off-by: Andy Lutomirski
    Cc: Jesper Juhl
    Cc: Borislav Petkov
    Cc: Linus Torvalds
    Cc: Arjan van de Ven
    Cc: Jan Beulich
    Cc: richard -rw- weinberger
    Cc: Mikael Pettersson
    Cc: Andi Kleen
    Cc: Brian Gerst
    Cc: Louis Rilling
    Cc: Valdis.Kletnieks@vt.edu
    Cc: pageexec@freemail.hu
    Link: http://lkml.kernel.org/r/fc134867cc550977cc996866129e11a16ba0f9ea.1307292171.git.luto@mit.edu
    Signed-off-by: Ingo Molnar

    Andy Lutomirski
     

10 May, 2011

1 commit


23 Mar, 2011

1 commit


18 Mar, 2011

1 commit


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


22 Oct, 2010

1 commit


29 Jun, 2010

1 commit

  • IRQ stacks provide much better safety against unexpected stack use from
    interrupts, at the minimal downside of slightly higher memory usage.
    Enable irq stacks also for the default 8k stack on 32-bit kernels to
    minimize the problem of stack overflows through interrupt activity.

    This is what the 64-bit kernel and various other architectures already do.

    Signed-off-by: Christoph Hellwig
    LKML-Reference:
    Signed-off-by: Thomas Gleixner

    Christoph Hellwig
     

19 Jun, 2010

1 commit

  • Add support for saving OFW's cif, and later calling into it to run OFW
    commands. OFW remains resident in memory, living within virtual range
    0xff800000 - 0xffc00000. A single page directory entry points to the
    pgdir that OFW actually uses, so rather than saving the entire page
    table, we grab and install that one entry permanently in the kernel's
    page table.

    This is currently only used by the OLPC XO. Note that this particular
    calling convention breaks PAE and PAT, and so cannot be used on newer
    x86 hardware.

    Signed-off-by: Andres Salomon
    LKML-Reference:
    Signed-off-by: H. Peter Anvin

    Andres Salomon