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
     

16 Feb, 2010

2 commits

  • Now that numa=fake=[MG] is implemented, it is possible to remove
    configurable node size support. The command-line parsing was already
    broken (numa=fake=*128, for example, would not work) and since fake nodes
    are now interleaved over physical nodes, this support is no longer
    required.

    Signed-off-by: David Rientjes
    LKML-Reference:
    Signed-off-by: H. Peter Anvin

    David Rientjes
     
  • numa=fake=N specifies the number of fake nodes, N, to partition the
    system into and then allocates them by interleaving over physical nodes.
    This requires knowledge of the system capacity when attempting to
    allocate nodes of a certain size: either very large nodes to benchmark
    scalability of code that operates on individual nodes, or very small
    nodes to find bugs in the VM.

    This patch introduces numa=fake=[MG] so it is possible to specify
    the size of each node to allocate. When used, nodes of the size
    specified will be allocated and interleaved over the set of physical
    nodes.

    FAKE_NODE_MIN_SIZE was also moved to the more-appropriate
    include/asm/numa_64.h.

    Signed-off-by: David Rientjes
    LKML-Reference:
    Signed-off-by: H. Peter Anvin

    David Rientjes
     

23 Sep, 2009

1 commit

  • Add missing information about requirements of using the EHCI usb debug
    controller as well as to mention you can use a debug controller other
    than the first one in the system.

    Signed-off-by: Jason Wessel
    Cc: Ingo Molnar
    Cc: Andrew Morton
    Cc: Yinghai Lu
    Cc: "Eric W. Biederman"
    Cc: Alan Stern
    Cc: Sarah Sharp
    Cc: Randy Dunlap
    Signed-off-by: Greg Kroah-Hartman

    Jason Wessel
     

19 Sep, 2009

1 commit

  • …el/git/tip/linux-2.6-tip

    * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (38 commits)
    x86: Move get/set_wallclock to x86_platform_ops
    x86: platform: Fix section annotations
    x86: apic namespace cleanup
    x86: Distangle ioapic and i8259
    x86: Add Moorestown early detection
    x86: Add hardware_subarch ID for Moorestown
    x86: Add early platform detection
    x86: Move tsc_init to late_time_init
    x86: Move tsc_calibration to x86_init_ops
    x86: Replace the now identical time_32/64.c by time.c
    x86: time_32/64.c unify profile_pc
    x86: Move calibrate_cpu to tsc.c
    x86: Make timer setup and global variables the same in time_32/64.c
    x86: Remove mca bus ifdef from timer interrupt
    x86: Simplify timer_ack magic in time_32.c
    x86: Prepare unification of time_32/64.c
    x86: Remove do_timer hook
    x86: Add timer_init to x86_init_ops
    x86: Move percpu clockevents setup to x86_init_ops
    x86: Move xen_post_allocator_init into xen_pagetable_setup_done
    ...

    Fix up conflicts in arch/x86/include/asm/io_apic.h

    Linus Torvalds
     

31 Aug, 2009

1 commit


22 Jul, 2009

1 commit

  • This patch adds kernel configuration and boot support for Intel Trusted
    Execution Technology (Intel TXT).

    Intel's technology for safer computing, Intel Trusted Execution
    Technology (Intel TXT), defines platform-level enhancements that
    provide the building blocks for creating trusted platforms.

    Intel TXT was formerly known by the code name LaGrande Technology (LT).

    Intel TXT in Brief:
    o Provides dynamic root of trust for measurement (DRTM)
    o Data protection in case of improper shutdown
    o Measurement and verification of launched environment

    Intel TXT is part of the vPro(TM) brand and is also available some
    non-vPro systems. It is currently available on desktop systems based on
    the Q35, X38, Q45, and Q43 Express chipsets (e.g. Dell Optiplex 755, HP
    dc7800, etc.) and mobile systems based on the GM45, PM45, and GS45
    Express chipsets.

    For more information, see http://www.intel.com/technology/security/.
    This site also has a link to the Intel TXT MLE Developers Manual, which
    has been updated for the new released platforms.

    A much more complete description of how these patches support TXT, how to
    configure a system for it, etc. is in the Documentation/intel_txt.txt file
    in this patch.

    This patch provides the TXT support routines for complete functionality,
    documentation for TXT support and for the changes to the boot_params structure,
    and boot detection of a TXT launch. Attempts to shutdown (reboot, Sx) the system
    will result in platform resets; subsequent patches will support these shutdown modes
    properly.

    Documentation/intel_txt.txt | 210 +++++++++++++++++++++
    Documentation/x86/zero-page.txt | 1
    arch/x86/include/asm/bootparam.h | 3
    arch/x86/include/asm/fixmap.h | 3
    arch/x86/include/asm/tboot.h | 197 ++++++++++++++++++++
    arch/x86/kernel/Makefile | 1
    arch/x86/kernel/setup.c | 4
    arch/x86/kernel/tboot.c | 379 +++++++++++++++++++++++++++++++++++++++
    security/Kconfig | 30 +++
    9 files changed, 827 insertions(+), 1 deletion(-)

    Signed-off-by: Joseph Cihula
    Signed-off-by: Shane Wang
    Signed-off-by: Gang Wei
    Signed-off-by: H. Peter Anvin

    Joseph Cihula
     

11 Jul, 2009

1 commit

  • exception.txt only explains the code on x86, so it's better to
    move it into Documentation/x86 directory.

    And also rename it to exception-tables.txt which looks much
    more reasonable.

    This patch is on top of the previous one.

    Signed-off-by: WANG Cong
    Signed-off-by: Randy Dunlap
    Signed-off-by: Linus Torvalds

    Amerigo Wang
     

12 Jun, 2009

1 commit


11 Jun, 2009

2 commits

  • This patch introduces three boot options (no_cmci, dont_log_ce
    and ignore_ce) to control handling for corrected errors.

    The "mce=no_cmci" boot option disables the CMCI feature.

    Since CMCI is a new feature so having boot controls to disable
    it will be a help if the hardware is misbehaving.

    The "mce=dont_log_ce" boot option disables logging for corrected
    errors. All reported corrected errors will be cleared silently.
    This option will be useful if you never care about corrected
    errors.

    The "mce=ignore_ce" boot option disables features for corrected
    errors, i.e. polling timer and cmci. All corrected events are
    not cleared and kept in bank MSRs.

    Usually this disablement is not recommended, however it will be
    a help if there are some conflict with the BIOS or hardware
    monitoring applications etc., that clears corrected events in
    banks instead of OS.

    [ And trivial cleanup (space -> tab) for doc is included. ]

    Signed-off-by: Hidetoshi Seto
    Reviewed-by: Andi Kleen
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Hidetoshi Seto
     
  • * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (22 commits)
    x86: fix system without memory on node0
    x86, mm: Fix node_possible_map logic
    mm, x86: remove MEMORY_HOTPLUG_RESERVE related code
    x86: make sparse mem work in non-NUMA mode
    x86: process.c, remove useless headers
    x86: merge process.c a bit
    x86: use sparse_memory_present_with_active_regions() on UMA
    x86: unify 64-bit UMA and NUMA paging_init()
    x86: Allow 1MB of slack between the e820 map and SRAT, not 4GB
    x86: Sanity check the e820 against the SRAT table using e820 map only
    x86: clean up and and print out initial max_pfn_mapped
    x86/pci: remove rounding quirk from e820_setup_gap()
    x86, e820, pci: reserve extra free space near end of RAM
    x86: fix typo in address space documentation
    x86: 46 bit physical address support on 64 bits
    x86, mm: fault.c, use printk_once() in is_errata93()
    x86: move per-cpu mmu_gathers to mm/init.c
    x86: move max_pfn_mapped and max_low_pfn_mapped to setup.c
    x86: unify noexec handling
    x86: remove (null) in /sys kernel_page_tables
    ...

    Linus Torvalds
     

04 Jun, 2009

1 commit

  • On Intel platforms machine check exceptions are always broadcast to
    all CPUs. This patch makes the machine check handler synchronize all
    these machine checks, elect a Monarch to handle the event and collect
    the worst event from all CPUs and then process it first.

    This has some advantages:

    - When there is a truly data corrupting error the system panics as
    quickly as possible. This improves containment of corrupted
    data and makes sure the corrupted data never hits stable storage.

    - The panics are synchronized and do not reenter the panic code
    on multiple CPUs (which currently does not handle this well).

    - All the errors are reported. Currently it often happens that
    another CPU happens to do the panic first, but reports useless
    information (empty machine check) because the real error
    happened on another CPU which came in later.
    This is a big advantage on Nehalem where the 8 threads per CPU
    lead to often the wrong CPU winning the race and dumping
    useless information on a machine check. The problem also occurs
    in a less severe form on older CPUs.

    - The system can detect when no CPUs detected a machine check
    and shut down the system. This can happen when one CPU is so
    badly hung that that it cannot process a machine check anymore
    or when some external agent wants to stop the system by
    asserting the machine check pin. This follows Intel hardware
    recommendations.

    - This matches the recommended error model by the CPU designers.

    - The events can be output in true severity order

    - When a panic happens on another CPU it makes sure to be actually
    be able to process the stop IPI by enabling interrupts.

    The code is extremly careful to handle timeouts while waiting
    for other CPUs. It can't rely on the normal timing mechanisms
    (jiffies, ktime_get) because of its asynchronous/lockless nature,
    so it uses own timeouts using ndelay() and a "SPINUNIT"

    The timeout is configurable. By default it waits for upto one
    second for the other CPUs. This can be also disabled.

    From some informal testing AMD systems do not see to broadcast
    machine checks, so right now it's always disabled by default on
    non Intel CPUs or also on very old Intel systems.

    Includes fixes from Ying Huang
    Fixed a "ecception" in a comment (H.Seto)
    Moved global_nwo reset later based on suggestion from H.Seto
    v2: Avoid duplicate messages

    [ Impact: feature, fixes long standing problems. ]

    Signed-off-by: Andi Kleen
    Signed-off-by: Hidetoshi Seto
    Signed-off-by: H. Peter Anvin

    Andi Kleen
     

29 May, 2009

1 commit

  • Document that check_interval set to 0 means no polling.
    Noticed by Hidetoshi Seto

    Also add a reference from boot options to the sysfs tunables

    Acked-by: Hidetoshi Seto
    Signed-off-by: Andi Kleen
    Signed-off-by: Hidetoshi Seto
    Signed-off-by: H. Peter Anvin

    Andi Kleen
     

18 May, 2009

1 commit

  • after:

    | commit b263295dbffd33b0fbff670720fa178c30e3392a
    | Author: Christoph Lameter
    | Date: Wed Jan 30 13:30:47 2008 +0100
    |
    | x86: 64-bit, make sparsemem vmemmap the only memory model

    we don't have MEMORY_HOTPLUG_RESERVE anymore.

    Historically, x86-64 had an architecture-specific method for memory hotplug
    whereby it scanned the SRAT for physical memory ranges that could be
    potentially used for memory hot-add later. By reserving those ranges
    without physical memory, the memmap would be allocated and left dormant
    until needed. This depended on the DISCONTIG memory model which has been
    removed so the code implementing HOTPLUG_RESERVE is now dead.

    This patch removes the dead code used by MEMORY_HOTPLUG_RESERVE.

    (Changelog authored by Mel.)

    v2: updated changelog, and remove hotadd= in doc

    [ Impact: remove dead code ]

    Signed-off-by: Yinghai Lu
    Reviewed-by: Christoph Lameter
    Reviewed-by: Mel Gorman
    Workflow-found-OK-by: Andrew Morton
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Yinghai Lu
     

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
     

06 May, 2009

2 commits

  • Fix a trivial typo in Documentation/x86/x86_64/mm.txt.

    [ Impact: documentation only ]

    Signed-off-by: H. Peter Anvin
    Cc: Rik van Riel

    H. Peter Anvin
     
  • Extend the maximum addressable memory on x86-64 from 2^44 to
    2^46 bytes. This requires some shuffling around of the vmalloc
    and virtual memmap memory areas, to keep them away from the
    direct mapping of up to 64TB of physical memory.

    This patch also introduces a guard hole between the vmalloc
    area and the virtual memory map space. There's really no
    good reason why we wouldn't have a guard hole there.

    [ Impact: future hardware enablement ]

    Signed-off-by: Rik van Riel
    LKML-Reference:
    Signed-off-by: H. Peter Anvin

    Rik van Riel
     

04 Apr, 2009

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (28 commits)
    trivial: Update my email address
    trivial: NULL noise: drivers/mtd/tests/mtd_*test.c
    trivial: NULL noise: drivers/media/dvb/frontends/drx397xD_fw.h
    trivial: Fix misspelling of "Celsius".
    trivial: remove unused variable 'path' in alloc_file()
    trivial: fix a pdlfush -> pdflush typo in comment
    trivial: jbd header comment typo fix for JBD_PARANOID_IOFAIL
    trivial: wusb: Storage class should be before const qualifier
    trivial: drivers/char/bsr.c: Storage class should be before const qualifier
    trivial: h8300: Storage class should be before const qualifier
    trivial: fix where cgroup documentation is not correctly referred to
    trivial: Give the right path in Documentation example
    trivial: MTD: remove EOL from MODULE_DESCRIPTION
    trivial: Fix typo in bio_split()'s documentation
    trivial: PWM: fix of #endif comment
    trivial: fix typos/grammar errors in Kconfig texts
    trivial: Fix misspelling of firmware
    trivial: cgroups: documentation typo and spelling corrections
    trivial: Update contact info for Jochen Hein
    trivial: fix typo "resgister" -> "register"
    ...

    Linus Torvalds
     

30 Mar, 2009

1 commit


06 Mar, 2009

1 commit


05 Mar, 2009

1 commit


04 Mar, 2009

1 commit


15 Jan, 2009

2 commits


10 Jan, 2009

1 commit

  • …git/tip/linux-2.6-tip

    * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (36 commits)
    x86: fix section mismatch warnings in mcheck/mce_amd_64.c
    x86: offer frame pointers in all build modes
    x86: remove duplicated #include's
    x86: k8 numa register active regions later
    x86: update Alan Cox's email addresses
    x86: rename all fields of mpc_table mpc_X to X
    x86: rename all fields of mpc_oemtable oem_X to X
    x86: rename all fields of mpc_bus mpc_X to X
    x86: rename all fields of mpc_cpu mpc_X to X
    x86: rename all fields of mpc_intsrc mpc_X to X
    x86: rename all fields of mpc_lintsrc mpc_X to X
    x86: rename all fields of mpc_iopic mpc_X to X
    x86: irqinit_64.c init_ISA_irqs should be static
    Documentation/x86/boot.txt: payload length was changed to payload_length
    x86: setup_percpu.c fix style problems
    x86: irqinit_64.c fix style problems
    x86: irqinit_32.c fix style problems
    x86: i8259.c fix style problems
    x86: irq_32.c fix style problems
    x86: ioport.c fix style problems
    ...

    Linus Torvalds
     

07 Jan, 2009

1 commit


05 Jan, 2009

1 commit


23 Dec, 2008

1 commit

  • …86/debug', 'x86/defconfig', 'x86/detect-hyper', 'x86/doc', 'x86/dumpstack', 'x86/early-printk', 'x86/fpu', 'x86/idle', 'x86/io', 'x86/memory-corruption-check', 'x86/microcode', 'x86/mm', 'x86/mtrr', 'x86/nmi-watchdog', 'x86/pat2', 'x86/pci-ioapic-boot-irq-quirks', 'x86/ptrace', 'x86/quirks', 'x86/reboot', 'x86/setup-memory', 'x86/signal', 'x86/sparse-fixes', 'x86/time', 'x86/uv' and 'x86/xen' into x86/core

    Ingo Molnar