23 Jun, 2006

40 commits

  • Add read_mapping_page() which is used for callers that pass
    mapping->a_ops->readpage as the filler for read_cache_page. This removes
    some duplication from filesystem code.

    Signed-off-by: Pekka Enberg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pekka Enberg
     
  • Create two files in /sys/kernel, kexec_loaded and kexec_crash_loaded. Each
    file contains a simple boolean value indicating whether the relevant kernel
    has been loaded into memory. The motivation for this is geared around
    support.

    Signed-off-by: Jeff Moyer
    Cc: "Eric W. Biederman"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Moyer
     
  • On zSeries machines there exists an interface which allows the operating
    system to retrieve LPAR hypervisor accounting data. For example, it is
    possible to get usage data for physical and virtual cpus. In order to
    provide this information to user space programs, I implemented a new
    virtual Linux file system named 's390_hypfs' using the Linux 2.6 libfs
    framework. The name 's390_hypfs' stands for 'S390 Hypervisor Filesystem'.
    All the accounting information is put into different virtual files which
    can be accessed from user space. All data is represented as ASCII strings.

    When the file system is mounted the accounting information is retrieved and
    a file system tree is created with the attribute files containing the cpu
    information. The content of the files remains unchanged until a new update
    is made. An update can be triggered from user space through writing
    'something' into a special purpose update file.

    We create the following directory structure:

    /
    update
    cpus/

    type
    mgmtime

    ...
    hyp/
    type
    systems/

    cpus/

    type
    mgmtime
    cputime
    onlinetime

    ...

    cpus/
    ...

    - update: File to trigger update
    - cpus/: Directory for all physical cpus
    - cpus//: Directory for one physical cpu.
    - cpus//type: Type name of physical zSeries cpu.
    - cpus//mgmtime: Physical-LPAR-management time in microseconds.
    - hyp/: Directory for hypervisor information
    - hyp/type: Typ of hypervisor (currently only 'LPAR Hypervisor')
    - systems/: Directory for all LPARs
    - systems//: Directory for one LPAR.
    - systems//cpus//: Directory for the virtual cpus
    - systems//cpus//type: Typ of cpu.
    - systems//cpus//mgmtime:
    Accumulated number of microseconds during which a physical
    CPU was assigned to the logical cpu and the cpu time was
    consumed by the hypervisor and was not provided to
    the LPAR (LPAR overhead).

    - systems//cpus//cputime:
    Accumulated number of microseconds during which a physical CPU
    was assigned to the logical cpu and the cpu time was consumed
    by the LPAR.

    - systems//cpus//onlinetime:
    Accumulated number of microseconds during which the logical CPU
    has been online.

    As mount point for the filesystem /sys/hypervisor/s390 is created.

    The update process is triggered when writing 'something' into the
    'update' file at the top level hypfs directory. You can do this e.g.
    with 'echo 1 > update'. During the update the whole directory structure
    is deleted and built up again.

    Cc: Pekka Enberg
    Cc: Ingo Oeser
    Cc: Joern Engel
    Acked-by: Martin Schwidefsky
    Signed-off-by: Michael Holzheu
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michael Holzheu
     
  • verify_area() is still alive on xtensa in 2.6.17-rc3-git13 It would be nice
    to finally be rid of that function across the board.

    Signed-off-by: Chris Zankel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jesper Juhl
     
  • Signed-off-by: Al Viro
    Cc: Roman Zippel
    Cc: Geert Uytterhoeven
    Acked-by: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Cast is not an lvalue; =r constraint wants an lvalue and really couldn't
    care whether it's void * or other pointer type.

    Signed-off-by: Al Viro
    Cc: Roman Zippel
    Cc: Geert Uytterhoeven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Signed-off-by: Jan Altenberg
    Cc: Geert Uytterhoeven
    Cc: Greg Ungerer
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jan Altenberg
     
  • This uninlines a few large functions in uaccess.h and cleans up the rest.
    It includes a (hopefully temporary) workaround for the broken typeof of
    gcc-4.1.

    Signed-off-by: Roman Zippel
    Cc: Geert Uytterhoeven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roman Zippel
     
  • Some fixes and cleanups from the linux-mac68k repo. Fix mac_esp by clearing
    the VIA2 SCSI IRQ flag before the SCSI IRQ handler is invoked. Also fix a
    race condition caused by unmasking a nubus slot IRQ then setting the relevant
    nubus_active bit.

    Signed-off-by: Finn Thain
    Signed-off-by: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Finn Thain
     
  • Adjust entry.S to the changed HARDIRQ_MASK, add a check to prevent it from
    silently breaking again.

    Signed-off-by: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roman Zippel
     
  • MAX_NR_ZONES changed, so use correct defines now.

    Signed-off-by: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roman Zippel
     
  • The wd33c93 needs a small delay before a new command can be started.

    Signed-off-by: Roman Zippel
    Cc: James Bottomley
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roman Zippel
     
  • Dump the extra mapping in the amikbd interrupt handler, so old Amiga keymaps
    work again. Amigas need a special keymap anyway, standard keymaps are not
    usable and recreating all keymaps is simply not worth the trouble.

    Signed-off-by: Roman Zippel
    Cc: Dmitry Torokhov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roman Zippel
     
  • Pass unmodified stack argument to show_trace().

    Signed-off-by: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roman Zippel
     
  • Signed-off-by: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roman Zippel
     
  • These definitions have long been superseded by asm-offsets.h

    Signed-off-by: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roman Zippel
     
  • Remove long obsolete kernel syscalls, only execve is still used.

    Signed-off-by: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roman Zippel
     
  • The atyfb_driver structure is only available if CONFIG_PCI is set.

    Signed-off-by: Roman Zippel
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roman Zippel
     
  • ide_setup_ports does not completely initialize the hw_regs_t structure which
    can cause random failures, as the structure is often on the stack. None of
    the callers expect a partially initialized structure, i.e. none of them do
    any setup of their own before calling ide_setup_ports().

    Signed-off-by: Roman Zippel
    Cc: Bartlomiej Zolnierkiewicz
    Cc: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roman Zippel
     
  • Move do_suspend_lowlevel to correct segment. If it is in the same hugepage
    with ro data, mark_rodata_ro will make it unexecutable.

    Signed-off-by: Shaohua Li
    Cc: Len Brown
    Cc: Pavel Machek
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Shaohua Li
     
  • Update documentation a bit, add more machines to video.txt list.

    Signed-off-by: Pavel Machek
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pavel Machek
     
  • flush_tlb_all uses on_each_cpu, which will disable/enable interrupt.
    In suspend/resume time, this will make interrupt wrongly enabled.

    Signed-off-by: Shaohua Li
    Cc: Pavel Machek
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Shaohua Li
     
  • Make swsusp allocate only as much memory as needed to store the image data
    and metadata during resume.

    Without this patch swsusp additionally allocates many page frames that will
    conflict with the "original" locations of the image data and are considered
    as "unsafe", treating them as "eaten" pages (ie. allocated but unusable).

    The patch makes swsusp allocate as many pages as it'll need to store the
    data read from the image in one shot, creating a list of allocated "safe"
    pages, and use the observation that all pages allocated by it are marked
    with the PG_nosave and PG_nosave_free flags set.  Namely, when it's about
    to load an image page, swsusp can check whether the page frame
    corresponding to the "original" location of this page has been allocated
    (ie. if the page frame has the PG_nosave and PG_nosave_free flags set) and
    if so, it can load the page directly into this page frame.  Otherwise it
    uses an allocated "safe" page from the list to store the data that will be
    copied to their "original" location later on.

    This allows us to save many page copyings and page allocations during
    resume and in the future it may allow us to load images greater than 50% of
    the normal zone.

    Signed-off-by: Rafael J. Wysocki
    Acked-by: "Pavel Machek"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rafael J. Wysocki
     
  • - make needlessly global functions static
    - make dummy functions static inline

    Signed-off-by: Adrian Bunk
    Acked-by: Pavel Machek
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • swsusp allocates memory from the normal zone, so it cannot use lowmem
    reserve pages from the lower zones. Therefore it should not count these
    pages as available to it.

    Signed-off-by: Rafael J. Wysocki
    Cc: Pavel Machek
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rafael J. Wysocki
     
  • Pages (Reserved/ACPI NVS/ACPI Data) below end_pfn will be saved/restored by S4
    currently. We should mark 'Reserved' pages not saveable.

    Pages (Reserved/ACPI NVS/ACPI Data) above end_pfn will not be saved/restored
    by S4 currently. We should save the 'ACPI NVS/ACPI Data' pages.

    Signed-off-by: Shaohua Li
    Cc: Pavel Machek
    Cc: "Rafael J. Wysocki"
    Cc: Nigel Cunningham
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Shaohua Li
     
  • Pages (Reserved/ACPI NVS/ACPI Data) below max_low_pfn will be saved/restored
    by S4 currently. We should mark 'Reserved' pages not saveable.

    Pages (Reserved/ACPI NVS/ACPI Data) above max_low_pfn will not be
    saved/restored by S4 currently. We should save the 'ACPI NVS/ACPI Data'
    pages.

    Signed-off-by: Shaohua Li
    Cc: Pavel Machek
    Cc: "Rafael J. Wysocki"
    Cc: Nigel Cunningham
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Shaohua Li
     
  • 1. Add architecture specific pages save/restore support. Next two patches
    will use this to save/restore 'ACPI NVS' pages.

    2. Allow reserved pages 'nosave'. This could avoid save/restore BIOS
    reserved pages.

    Signed-off-by: Shaohua Li
    Cc: Pavel Machek
    Cc: "Rafael J. Wysocki"
    Cc: Nigel Cunningham
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Shaohua Li
     
  • WARNING: vmlinux: 'enable_irq' exported twice. Previous export was in vmlinux
    WARNING: vmlinux: 'disable_irq' exported twice. Previous export was in vmlinux
    WARNING: vmlinux: 'disable_irq_nosync' exported twice. Previous export was in vmlinux
    WARNING: vmlinux: 'probe_irq_mask' exported twice. Previous export was in vmlinux
    WARNING: vmlinux: 'sys_open' exported twice. Previous export was in vmlinux
    WARNING: vmlinux: 'sys_read' exported twice. Previous export was in vmlinux
    WARNING: vmlinux: 'strstr' exported twice. Previous export was in vmlinux
    WARNING: vmlinux: 'memscan' exported twice. Previous export was in vmlinux
    WARNING: vmlinux: 'memcmp' exported twice. Previous export was in vmlinux
    WARNING: vmlinux: 'strnlen' exported twice. Previous export was in vmlinux
    WARNING: vmlinux: 'strncmp' exported twice. Previous export was in vmlinux
    WARNING: vmlinux: 'strcmp' exported twice. Previous export was in vmlinux

    Signed-off-by: Mathieu Chouquet-Stringer
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mathieu Chouquet-Stringer
     
  • compile fix: needs for 'u8' --
    just look at struct alt_instr.

    My module includes as the first header, and as of 2.6.17 this
    leads to compilation errors.

    Signed-off-by: Kirill Smelkov
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kirill Smelkov
     
  • New CPU flags for next generation of crypto engine as found in VIA C7
    processors.

    Signed-off-by: Michal Ludvig
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michal Ludvig
     
  • Sometimes thread_info and task_struct get out-of-sync with each other.
    Printing task.thread_info in show_registers() can help spot this. And when
    task_struct is corrupt then task.comm can contain garbage, so only print as
    many characters as it can hold.

    Signed-off-by: Chuck Ebbert
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Chuck Ebbert
     
  • An immediate operand can't be the destination of the cmpl instruction,
    so exclude it.

    Signed-off-by: Roman Zippel
    Cc: Mattia Dongili
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roman Zippel
     
  • Never allow int3 traps from V8086 mode to enter the kprobes handler.

    Signed-off-by: Zachary Amsden
    Cc: Prasanna S Panchamukhi
    Cc: Ananth N Mavinakayanahalli
    Cc: Anil S Keshavamurthy
    Cc: Chuck Ebbert
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Zachary Amsden
     
  • We need to check for vm86 mode first before looking at selector privilege
    bits.

    Segment limit is always base + 64k and only the low 16 bits of EIP are
    significant in vm86 mode.

    Signed-off-by: Chuck Ebbert
    Cc: Andi Kleen
    Cc: Zachary Amsden
    Cc: Rohit Seth
    Acked-by: Ananth N Mavinakayanahalli
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Chuck Ebbert
     
  • Use proper defines instead of open-coded values.

    Signed-off-by: Andreas Mohr
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andreas Mohr
     
  • constify structs and add one __initdata.

    Signed-off-by: Andreas Mohr
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andreas Mohr
     
  • Signed-off-by: Andreas Mohr
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andreas Mohr
     
  • Signed-off-by: Andreas Mohr
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andreas Mohr
     
  • PCI code was outside of CONFIG_PCI, add __initdata at cyrix_55x0 (since
    accessed within __init function only).

    Signed-off-by: Andreas Mohr
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andreas Mohr