linux-acpi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Len Brown <lenb@kernel.org>
To: Jesse Burt <genecide@comcast.net>
Cc: linux-acpi@vger.kernel.org
Subject: Re: dmidecode Compaq Presario C500 (C552US)
Date: Mon, 21 Jan 2008 23:07:10 -0500	[thread overview]
Message-ID: <200801212307.10365.lenb@kernel.org> (raw)
In-Reply-To: <1200943223.6796.25.camel@headhunter>

On Monday 21 January 2008 14:20, Jesse Burt wrote:
> 
> On Sun, 2008-01-20 at 19:17 -0500, Len Brown wrote:
> > Thanks for the acpidump output.
> > 
> > OSI(Linux) is indeed a NOP on this box, it sets LINX, but never checks it
> 
> Hmm... so was this just some sort of afterthought by the mfr? What is
> the idea, it's supposed to check if the OS is Linux and if so, set
> certain parameters? I don't know too much about ACPI.

I expect it is just dead code from the example code
that they didn't bother to clean up.

> > 
> >     OperationRegion (GNVS, SystemMemory, 0x1F694E4C, 0x0100)
> >     Field (GNVS, AnyAcc, Lock, Preserve)
> >     {
> >         OSYS,   16,
> >         SMIF,   8,
> >         PRM0,   8,
> >         PRM1,   8,
> >         SCIF,   8,
> >         PRM2,   8,
> >         PRM3,   8,
> >         LCKF,   8,
> >         PRM4,   8,
> >         PRM5,   8,
> >         P80D,   32,
> >         LIDS,   8,
> >         PWRS,   8,
> >         DBGS,   8,
> >         LINX,   8,
> >                 Offset (0x14),
> > ...
> >            If (CondRefOf (_OSI, Local0))
> >             {
> >                 If (_OSI ("Linux"))
> >                 {
> >                     Store (One, LINX)
> >                 }
> > 
> >                 If (_OSI ("Windows 2001"))
> >                 {
> >                     Store (0x07D1, OSYS)
> >                 }
> > ...
> > 
> > Re: the duplicate APIC tables...
> > 
> > Linux uses the 1st one by default, and that seems to be the OEM modified
> > version (vs. the 2nd one which seems bo be left over from the reference code).
> > 
> > $ madt < APIC1.dat
> > ACPI: APIC (v001 HP     NISSAN   0x06040000 LOHR 0x0000005a) @ 0x(nil)
> > ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
> > ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] disabled)
> > ACPI: IOAPIC (id[0x01] address[0xfec00000] global_irq_base[0x0])
> > ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
> > ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
> > ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])
> > ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
> > Length 104 OK
> > Checksum OK
> > $ madt < APIC2.dat
> > ACPI: APIC (v001 PTLTD           APIC   0x06040000  LTP 0x00000000) @ 0x(nil)
> > ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
> > ACPI: IOAPIC (id[0x01] address[0xfec00000] global_irq_base[0x0])
> > ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])
> > ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 high edge)
> > ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
> > Length 90 OK
> > Checksum OK
> > 
> > The Compaq added APIC table gives a 2nd processor, but it is disabled:
> > ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] disabled)
> > 
> > I don't really follow this, since the specs on this box
> > say it has a dual core processor.  Perhaps the 2nd core is disabled?
> > 
> 
> Interesting...perhaps they use a somewhat generic set of tables for many
> of their devices and just don't bother to prune them on boxes like this
> one? As far as I know, however, the box does have one single core
> processor (Celeron M 520 I believe is what is reported by /proc/cpuinfo;
> Intel's site
> http://www.intel.com/products/processor_number/chart/celeron_m.htm
> doesn't seem to explicitly mention anything about this CPU being
> dual-core

Apparently they use the same BIOS and have the option to stuff
different CPUs.  I expect the BIOS discovers at init time
the actualy CPU capabilities and modifies the APIC table
that has entries to accomodate the largest they support.

> though unbeknownst to me before looking at it just now... 
> this processor is 64bit! Not sure if the BIOS and/or ACPI data reflect
> this.

The OS doesn't have to ask ACPI or the BIOS about 64-bit,
it gets that from the processor directly via CPUID.

> I know from experience with my laptop that Compaq/HP are kind of silly
> with their series/model numbers... i.e., a certain model may not have
> the same components from one unit to another. For instance mine could
> have come with one of two or three different processors (Sempron,
> Athlon64 Mobile I think?, or a Turion64, which it has).
> 
> > The INT_SRC_OVR thing should be a NOP, because high/edge
> > is the default for legacy timer interrupts.
> > 
> Thanks for looking at this Len. Being somewhat uninformed about ACPI,
> how much does Linux rely on the information it finds in these tables?
> What effects do you think any of these "defects" could cause?
> Again, thanks for looking at this.

Linux relies heavily on the information in these tables.
However, over time, we have become more and more immune to BIOS
programming defects.  I don't notice any here which would hurt you.

cheers,
-Len

      parent reply	other threads:[~2008-01-22  4:07 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-12-19 17:11 dmidecode Compaq Presario C500 (C552US) Jesse Burt
2008-01-18 21:36 ` Len Brown
     [not found]   ` <1200756123.16044.6.camel@headhunter>
2008-01-21  0:17     ` Len Brown
     [not found]       ` <1200943223.6796.25.camel@headhunter>
2008-01-22  4:07         ` Len Brown [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200801212307.10365.lenb@kernel.org \
    --to=lenb@kernel.org \
    --cc=genecide@comcast.net \
    --cc=linux-acpi@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).