1. 26 Mar, 2006 13 commits
    • Bjorn Helgaas's avatar
      [PATCH] EFI, /dev/mem: simplify efi_mem_attribute_range() · 136939a2
      Bjorn Helgaas authored
      Pass the size, not a pointer to the size, to efi_mem_attribute_range().
      
      This function validates memory regions for the /dev/mem read/write/mmap paths.
      The pointer allows arches to reduce the size of the range, but I think that's
      unnecessary complexity.  Simplifying it will let me use
      efi_mem_attribute_range() to improve the ia64 ioremap() implementation.
      Signed-off-by: default avatarBjorn Helgaas <bjorn.helgaas@hp.com>
      Cc: Matt Domsch <Matt_Domsch@dell.com>
      Cc: "Tolentino, Matthew E" <matthew.e.tolentino@intel.com>
      Cc: "Brown, Len" <len.brown@intel.com>
      Cc: Andi Kleen <ak@muc.de>
      Acked-by: default avatar"Luck, Tony" <tony.luck@intel.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      136939a2
    • Matt Domsch's avatar
      [PATCH] ia64: use i386 dmi_scan.c · 3ed3bce8
      Matt Domsch authored
      Enable DMI table parsing on ia64.
      
      Andi Kleen has a patch in his x86_64 tree which enables the use of i386
      dmi_scan.c on x86_64.  dmi_scan.c functions are being used by the
      drivers/char/ipmi/ipmi_si_intf.c driver for autodetecting the ports or
      memory spaces where the IPMI controllers may be found.
      
      This patch adds equivalent changes for ia64 as to what is in the x86_64
      tree.  In addition, I reworked the DMI detection, such that on EFI-capable
      systems, it uses the efi.smbios pointer to find the table, rather than
      brute-force searching from 0xF0000.  On non-EFI systems, it continues the
      brute-force search.
      
      My test system, an Intel S870BN4 'Tiger4', aka Dell PowerEdge 7250, with
      latest BIOS, does not list the IPMI controller in the ACPI namespace, nor
      does it have an ACPI SPMI table.  Also note, currently shipping Dell x8xx
      EM64T servers don't have these either, so DMI is the only method for
      obtaining the address of the IPMI controller.
      Signed-off-by: default avatarMatt Domsch <Matt_Domsch@dell.com>
      Acked-by: default avatar"Luck, Tony" <tony.luck@intel.com>
      Cc: Andi Kleen <ak@muc.de>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      3ed3bce8
    • Vivek Goyal's avatar
      [PATCH] i386: export: memory more than 4G through /proc/iomem · 10dbe196
      Vivek Goyal authored
      Currently /proc/iomem exports physical memory also apart from io device
      memory.  But on i386, it truncates any memory more than 4GB.  This leads to
      problems for kexec/kdump.
      
      Kexec reads /proc/iomem to determine the system memory layout and prepares a
      memory map based on that and passes it to the kernel being kexeced.  Given the
      fact that memory more than 4GB has been truncated, new kernel never gets to
      see and use that memory.
      
      Kdump also reads /proc/iomem to determine the physical memory layout of the
      system and encodes this informaiton in ELF headers.  After a crash new kernel
      parses these ELF headers being used by previous kernel and vmcore is prepared
      accordingly.  As memory more than 4GB has been truncated, kdump never sees
      that memory and never prepares ELF headers for it.  Hence vmcore is truncated
      and limited to 4GB even if there is more physical memory in the system.
      
      This patch exports memory more than 4GB through /proc/iomem on i386.
      Signed-off-by: default avatarVivek Goyal <vgoyal@in.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      10dbe196
    • Jan Beulich's avatar
      [PATCH] i386: pass proper trap numbers to die chain handlers · 20c0d2d4
      Jan Beulich authored
      Pass the trap number causing the call to notify_die() to the die
      notification handler chain in a number of instances.  Also, honor the
      return value from the handler chain invocation in die() as, through a
      debugger, the fault may have been fixed.
      Signed-off-by: default avatarJan Beulich <jbeulich@novell.com>
      Acked-By: default avatarAndi Kleen <ak@suse.de>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      20c0d2d4
    • H. Peter Anvin's avatar
      [PATCH] x86: "make isoimage" support; FDINITRD= support; minor cleanups · 841b8a46
      H. Peter Anvin authored
      Add a "make isoimage" to i386 and x86-64, which allows the automatic
      creation of a bootable CD image.  It also adds an option FDINITRD= to
      include an initrd of the user's choice in generated floppy- or CD boot
      images.  Finally, some minor cleanups of the image generation code.
      Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      Cc: Andi Kleen <ak@muc.de>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      841b8a46
    • James Bottomley's avatar
      [PATCH] Add flush_kernel_dcache_page() API · 5a3a5a98
      James Bottomley authored
      We have a problem in a lot of emulated storage in that it takes a page from
      get_user_pages() and does something like
      
      kmap_atomic(page)
      modify page
      kunmap_atomic(page)
      
      However, nothing has flushed the kernel cache view of the page before the
      kunmap.  We need a lightweight API to do this, so this new API would
      specifically be for flushing the kernel cache view of a user page which the
      kernel has modified.  The driver would need to add
      flush_kernel_dcache_page(page) before the final kunmap.
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: "David S. Miller" <davem@davemloft.net>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      5a3a5a98
    • James Bottomley's avatar
      [PATCH] Add API for flushing Anon pages · 03beb076
      James Bottomley authored
      Currently, get_user_pages() returns fully coherent pages to the kernel for
      anything other than anonymous pages.  This is a problem for things like
      fuse and the SCSI generic ioctl SG_IO which can potentially wish to do DMA
      to anonymous pages passed in by users.
      
      The fix is to add a new memory management API: flush_anon_page() which
      is used in get_user_pages() to make anonymous pages coherent.
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: "David S. Miller" <davem@davemloft.net>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      03beb076
    • Steven Rostedt's avatar
      [PATCH] protect remove_proc_entry · 64a07bd8
      Steven Rostedt authored
      It has been discovered that the remove_proc_entry has a race in the removing
      of entries in the proc file system that are siblings.  There's no protection
      around the traversing and removing of elements that belong in the same
      subdirectory.
      
      This subdirectory list is protected in other areas by the BKL.  So the BKL was
      at first used to protect this area too, but unfortunately, remove_proc_entry
      may be called with spinlocks held.  The BKL may schedule, so this was not a
      solution.
      
      The final solution was to add a new global spin lock to protect this list,
      called proc_subdir_lock.  This lock now protects the list in
      remove_proc_entry, and I also went around looking for other areas that this
      list is modified and added this protection there too.  Care must be taken
      since these locations call several functions that may also schedule.
      
      Since I don't see any location that these functions that modify the
      subdirectory list are called by interrupts, the irqsave/restore versions of
      the spin lock was _not_ used.
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      64a07bd8
    • Ingo Molnar's avatar
      [PATCH] warn if free_irq() is called from IRQ context · cd7b24bb
      Ingo Molnar authored
      Warn if free_irq() is called in IRQ context - free_irq() can execute /proc
      VFS work, which must not be done in IRQ context.
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      cd7b24bb
    • Ingo Molnar's avatar
      [PATCH] drivers/block/floppy.c: dont free_irq() from irq context · 6dc659d8
      Ingo Molnar authored
      free_irq() should not be executed from softirq context.
      
      Found by the lock validator.  The fix is to push fd_free_irq() into
      keventd.  The code validates fine with this patch applied.
      
      (akpm: this is revolting, but so is floppy.c)
      
      [akpm@osdl.org: added flush_scheduled_work()]
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      6dc659d8
    • Linus Torvalds's avatar
      Merge master.kernel.org:/home/rmk/linux-2.6-serial · 36ddf5bb
      Linus Torvalds authored
      * master.kernel.org:/home/rmk/linux-2.6-serial:
        [ARM] 3383/3: ixp2000: ixdp2x01 platform serial conversion
        [SERIAL] amba-pl010: Remove accessor macros
        [SERIAL] remove 8250_acpi (replaced by 8250_pnp and PNPACPI)
        [SERIAL] icom: select FW_LOADER
      36ddf5bb
    • Linus Torvalds's avatar
      Merge master.kernel.org:/home/rmk/linux-2.6-arm · a41622ea
      Linus Torvalds authored
      * master.kernel.org:/home/rmk/linux-2.6-arm:
        [ARM] 3030/2: fix permission check in the obscur cmpxchg syscall
        [ARM] nommu: rename compressed/head.S symbols to a new style
        [ARM] select TLS_REG_EMUL and NEEDS_SYSCALL_FOR_CMPXCHG
        [ARM] nommu: Move hardware page table definitions to pgtable-hwdef.h
        [ARM] Move read of processor ID out of lookup_processor_type()
        [ARM] Fix typo in tlbflush.h
        [ARM] noMMU: removes TLB codes in nommu mode
        [ARM] noMMU: block sys_fork in nommu mode
        [ARM] 3399/1: Fix link problem when CONFIG_PRINTK is disabled
        [ARM] 3398/1: Fix the VFP registers loading/storing base address
        [ARM] 3397/1: AT91RM9200 Header update
        [ARM] 3385/1: Battery support for sharp zaurus sl-5500 (collie)
        [ARM] SMP: don't set cpu_*_map in smp_prepare_boot_cpu
        include/linux/clk.h is betraying its ARM origins
        [ARM] Move enable_irq and disable_irq to assembler.h
        [ARM] 3391/1: use PLAT8250_DEV_PLATFORM{,1} for platform device id instead of 0/1
      a41622ea
    • Andi Kleen's avatar
      [PATCH] Fix compilation of processor_idle.c on IA64 · 0b5c59a1
      Andi Kleen authored
      Broken earlier by me by a x86-64 patch.
      
      The code was optimized away, but the compiler still complained about an
      undeclared function.
      Signed-off-by: default avatarAndi Kleen <ak@suse.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      0b5c59a1
  2. 25 Mar, 2006 27 commits