1. 27 3月, 2006 10 次提交
    • B
      [PATCH] EFI, /dev/mem: simplify efi_mem_attribute_range() · 136939a2
      Bjorn Helgaas 提交于
      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: NBjorn 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: N"Luck, Tony" <tony.luck@intel.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      136939a2
    • M
      [PATCH] ia64: use i386 dmi_scan.c · 3ed3bce8
      Matt Domsch 提交于
      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: NMatt Domsch <Matt_Domsch@dell.com>
      Acked-by: N"Luck, Tony" <tony.luck@intel.com>
      Cc: Andi Kleen <ak@muc.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      3ed3bce8
    • V
      [PATCH] i386: export: memory more than 4G through /proc/iomem · 10dbe196
      Vivek Goyal 提交于
      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: NVivek Goyal <vgoyal@in.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      10dbe196
    • J
      [PATCH] i386: pass proper trap numbers to die chain handlers · 20c0d2d4
      Jan Beulich 提交于
      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: NJan Beulich <jbeulich@novell.com>
      Acked-By: NAndi Kleen <ak@suse.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      20c0d2d4
    • H
      [PATCH] x86: "make isoimage" support; FDINITRD= support; minor cleanups · 841b8a46
      H. Peter Anvin 提交于
      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: NH. Peter Anvin <hpa@zytor.com>
      Cc: Andi Kleen <ak@muc.de>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      841b8a46
    • J
      [PATCH] Add flush_kernel_dcache_page() API · 5a3a5a98
      James Bottomley 提交于
      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: NJames Bottomley <James.Bottomley@SteelEye.com>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: "David S. Miller" <davem@davemloft.net>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      5a3a5a98
    • J
      [PATCH] Add API for flushing Anon pages · 03beb076
      James Bottomley 提交于
      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: NJames Bottomley <James.Bottomley@SteelEye.com>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: "David S. Miller" <davem@davemloft.net>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      03beb076
    • S
      [PATCH] protect remove_proc_entry · 64a07bd8
      Steven Rostedt 提交于
      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: NSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      64a07bd8
    • I
      [PATCH] warn if free_irq() is called from IRQ context · cd7b24bb
      Ingo Molnar 提交于
      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: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      cd7b24bb
    • I
      [PATCH] drivers/block/floppy.c: dont free_irq() from irq context · 6dc659d8
      Ingo Molnar 提交于
      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: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      6dc659d8
  2. 26 3月, 2006 30 次提交