01 Mar, 2006

1 commit

  • This is Adam's pnp probing fix. It's been reported to fix hangs on several
    people's machines. I don't know if it's official or final, and Adam isn't
    contactable at present. But I'm not aware of the patch causing any
    regressions.

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

    Adam Belay
     

02 Feb, 2006

1 commit


25 Jan, 2006

1 commit


23 Jan, 2006

1 commit


20 Jan, 2006

1 commit


14 Jan, 2006

1 commit


07 Jan, 2006

8 commits

  • Clean the blacklist. Battery, Button, Fan have no _CRS
    and can be removed. PCI root is in pnpbios and is harmless.

    Cc: Adam Belay
    Cc: "Li, Shaohua"
    Signed-off-by: Andrew Morton
    Signed-off-by: Len Brown

    matthieu castet
     
  • Ignore devices that don't have a _CRS method.
    They are useless for the PNP layer as they don't provide any resources.

    Cc: Adam Belay
    Signed-off-by: Andrew Morton
    Signed-off-by: Len Brown

    matthieu castet
     
  • Len Brown
     
  • PNPACPI complained about and ignored devices with ADDRESS16, ADDRESS32, or
    ADDRESS64 descriptors in _PRS. HP firmware uses them for built-in serial
    ports, so this patch adds support for parsing these descriptors from _PRS.

    Note that this does not add the corresponding support for encoding them in
    preparation for _SRS, because I don't have any machine that supports _SRS
    on these descriptors, so I couldn't test that support. Attempts to encode
    them will cause a warning and an -EINVAL return.

    http://sourceforge.net/mailarchive/forum.php?thread_id=8250154&forum_id=6102

    Signed-off-by: Bjorn Helgaas
    Signed-off-by: Andrew Morton
    Signed-off-by: Len Brown

    Bjorn Helgaas
     
  • PnP BIOS data, code, and 32-bit entry segments all have fixed limits as well;
    set them in the GDT rather than adding more code. It would be nice to add
    these fixups to the boot GDT rather than setting the GDT for each CPU; perhaps
    I can wiggle this in later, but getting it in before the subsys init looks
    tricky.

    Also, make some progress on deprecating the ugly Q_SET_SEL macros.

    Signed-off-by: Zachary Amsden
    Cc: "Seth, Rohit"
    Cc: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Zachary Amsden
     
  • The one remaining caller of set_limit, the PnP BIOS code, calls into the PnP
    BIOS, passing kernel parameters in and out. These parameteres may be passed
    from arbitrary kernel virtual memory, so they deserve strict protection to
    stop a bad BIOS from smashing beyond the object size.

    Unfortunately, the use of set_limit was badly botching this by setting the
    limit in terms of pages, when it really should have byte granularity.

    When doing this, I discovered my BIOS had the buggy code during the "get
    system device node" call:

    mov ax, es:[bx]

    Which is harmless, but has a trivial workaround.

    Signed-off-by: Zachary Amsden
    Cc: "Seth, Rohit"
    Cc: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Zachary Amsden
     
  • Move PnP BIOS segment definitions into segment.h; the segments are reserved
    here, so they might as well be defined here as well.

    Note I didn't do this for APM BIOS, as Macintosh and other systems use those
    values to emulate APM in some scary way I don't want to understand.

    Signed-off-by: Zachary Amsden
    Acked-by: "Seth, Rohit"
    Cc: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Zachary Amsden
     
  • Make GDT page aligned and page padded to support running inside of a
    hypervisor. This prevents false sharing of the GDT page with other hot
    data, which is not allowed in Xen, and causes performance problems in
    VMware.

    Rather than go back to the old method of statically allocating the GDT
    (which wastes unneded space for non-present CPUs), the GDT for APs is
    allocated dynamically.

    Signed-off-by: Zachary Amsden
    Cc: "Seth, Rohit"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Zachary Amsden
     

05 Jan, 2006

2 commits


03 Jan, 2006

2 commits


10 Dec, 2005

2 commits

  • Implemented support for the EM64T and other x86_64
    processors. This essentially entails recognizing
    that these processors support non-aligned memory
    transfers. Previously, all 64-bit processors were assumed
    to lack hardware support for non-aligned transfers.

    Completed conversion of the Resource Manager to nearly
    full table-driven operation. Specifically, the resource
    conversion code (convert AML to internal format and the
    reverse) and the debug code to dump internal resource
    descriptors are fully table-driven, reducing code and data
    size and improving maintainability.

    The OSL interfaces for Acquire and Release Lock now use a
    64-bit flag word on 64-bit processors instead of a fixed
    32-bit word. (Alexey Starikovskiy)

    Implemented support within the resource conversion code
    for the Type-Specific byte within the various ACPI 3.0
    *WordSpace macros.

    Fixed some issues within the resource conversion code for
    the type-specific flags for both Memory and I/O address
    resource descriptors. For Memory, implemented support
    for the MTP and TTP flags. For I/O, split the TRS and TTP
    flags into two separate fields.

    Signed-off-by: Bob Moore
    Signed-off-by: Len Brown

    Bob Moore
     
  • Completed a major overhaul of the Resource Manager code -
    specifically, optimizations in the area of the AML/internal
    resource conversion code. The code has been optimized to
    simplify and eliminate duplicated code, CPU stack use has
    been decreased by optimizing function parameters and local
    variables, and naming conventions across the manager have
    been standardized for clarity and ease of maintenance (this
    includes function, parameter, variable, and struct/typedef
    names.)

    All Resource Manager dispatch and information tables have
    been moved to a single location for clarity and ease of
    maintenance. One new file was created, named "rsinfo.c".

    The ACPI return macros (return_ACPI_STATUS, etc.) have
    been modified to guarantee that the argument is
    not evaluated twice, making them less prone to macro
    side-effects. However, since there exists the possibility
    of additional stack use if a particular compiler cannot
    optimize them (such as in the debug generation case),
    the original macros are optionally available. Note that
    some invocations of the return_VALUE macro may now cause
    size mismatch warnings; the return_UINT8 and return_UINT32
    macros are provided to eliminate these. (From Randy Dunlap)

    Implemented a new mechanism to enable debug tracing for
    individual control methods. A new external interface,
    acpi_debug_trace(), is provided to enable this mechanism. The
    intent is to allow the host OS to easily enable and disable
    tracing for problematic control methods. This interface
    can be easily exposed to a user or debugger interface if
    desired. See the file psxface.c for details.

    acpi_ut_callocate() will now return a valid pointer if a
    length of zero is specified - a length of one is used
    and a warning is issued. This matches the behavior of
    acpi_ut_allocate().

    Signed-off-by: Bob Moore
    Signed-off-by: Len Brown

    Bob Moore
     

07 Dec, 2005

1 commit


07 Nov, 2005

1 commit

  • This patch contains the following possible cleanups:
    - make needlessly global code static
    - #if 0 the following unused global function:
    - core.c: pnp_remove_device
    - #if 0 the following unneeded EXPORT_SYMBOL's:
    - card.c: pnp_add_card
    - card.c: pnp_remove_card
    - card.c: pnp_add_card_device
    - card.c: pnp_remove_card_device
    - card.c: pnp_add_card_id
    - core.c: pnp_register_protocol
    - core.c: pnp_unregister_protocol
    - core.c: pnp_add_device
    - core.c: pnp_remove_device
    - pnpacpi/core.c: pnpacpi_protocol
    - driver.c: pnp_add_id
    - isapnp/core.c: isapnp_read_byte
    - manager.c: pnp_auto_config_dev
    - resource.c: pnp_register_dependent_option
    - resource.c: pnp_register_independent_option
    - resource.c: pnp_register_irq_resource
    - resource.c: pnp_register_dma_resource
    - resource.c: pnp_register_port_resource
    - resource.c: pnp_register_mem_resource

    Note that this patch #if 0's exactly one functions and removes no
    functions. Most it does is the #if 0 of EXPORT_SYMBOL's, so if any modular
    code will use any of them, re-adding will be trivial.

    Modular ISAPnP might be interesting in some cases, but this is more legacy
    code. If someone would work on it to sort all the issues out (starting
    with the point that most users of __ISAPNP__ will have to be fixed)
    re-enabling the required EXPORT_SYMBOL's won't be hard for him.

    Signed-off-by: Adrian Bunk
    Cc: Adam Belay
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     

31 Oct, 2005

1 commit

  • I recently picked up my older work to remove unnecessary #includes of
    sched.h, starting from a patch by Dave Jones to not include sched.h
    from module.h. This reduces the number of indirect includes of sched.h
    by ~300. Another ~400 pointless direct includes can be removed after
    this disentangling (patch to follow later).
    However, quite a few indirect includes need to be fixed up for this.

    In order to feed the patches through -mm with as little disturbance as
    possible, I've split out the fixes I accumulated up to now (complete for
    i386 and x86_64, more archs to follow later) and post them before the real
    patch. This way this large part of the patch is kept simple with only
    adding #includes, and all hunks are independent of each other. So if any
    hunk rejects or gets in the way of other patches, just drop it. My scripts
    will pick it up again in the next round.

    Signed-off-by: Tim Schmielau
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tim Schmielau
     

22 Sep, 2005

1 commit


08 Sep, 2005

3 commits


03 Sep, 2005

1 commit

  • Move pcibios_penalize_isa_irq() to pnpacpi_parse_allocated_irqresource().
    Previously we passed the GSI, not the IRQ, and we did it even if parsing
    the IRQ resource failed.

    Parse IRQ descriptors that contain multiple interrupts. This violates the
    spec (in _CRS, only one interrupt per descriptor is allowed), but some
    firmware, e.g., HP rx7620 and rx8620 descriptions of HPET, has this bug.

    Signed-off-by: Bjorn Helgaas
    Cc: Adam Belay
    Signed-off-by: Andrew Morton
    Signed-off-by: Len Brown

    Bjorn Helgaas
     

25 Aug, 2005

1 commit


24 Aug, 2005

1 commit


18 Aug, 2005

1 commit


05 Aug, 2005

2 commits


28 Jul, 2005

1 commit


13 Jul, 2005

1 commit


12 Jul, 2005

2 commits


26 Jun, 2005

1 commit

  • 1. Establish a simple API for process freezing defined in linux/include/sched.h:

    frozen(process) Check for frozen process
    freezing(process) Check if a process is being frozen
    freeze(process) Tell a process to freeze (go to refrigerator)
    thaw_process(process) Restart process
    frozen_process(process) Process is frozen now

    2. Remove all references to PF_FREEZE and PF_FROZEN from all
    kernel sources except sched.h

    3. Fix numerous locations where try_to_freeze is manually done by a driver

    4. Remove the argument that is no longer necessary from two function calls.

    5. Some whitespace cleanup

    6. Clear potential race in refrigerator (provides an open window of PF_FREEZE
    cleared before setting PF_FROZEN, recalc_sigpending does not check
    PF_FROZEN).

    This patch does not address the problem of freeze_processes() violating the rule
    that a task may only modify its own flags by setting PF_FREEZE. This is not clean
    in an SMP environment. freeze(process) is therefore not SMP safe!

    Signed-off-by: Christoph Lameter
    Signed-off-by: Linus Torvalds

    Christoph Lameter
     

24 Jun, 2005

1 commit


21 Jun, 2005

1 commit