lkml.org 
[lkml]   [2009]   [Dec]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [patch 2/2] x86,apic: Use logical OR in noop-write operation
    On Tue, Dec 08, 2009 at 12:10:24PM -0800, H. Peter Anvin wrote:
    > On 12/08/2009 07:53 AM, Cyrill Gorcunov wrote:
    > > For apic noop'ified we have to use logical OR statement,
    > > otherwise any write on systems shipped with 82489DX
    > > (where apic presence bit can't be retrieved via cpuid)
    > > will not trigger the warning which is not desired.
    > >
    > > In turn noop'ified read operation remains using logical
    > > AND statement. This will catch _only_ future code bugs
    > > since:
    > >
    > > 1) The old 32bit systems without apic presence bit use
    > > disable_apic only as a flag that chip was turned off
    > > via boot option but not due to MP-table (BIOS) bug where
    > > we may try to re-enable apic via MSR registers. The further
    > > SMP setup code already prepared for a such situation
    > > (ie it disables SMP support) and do not issue write
    > > operations but still needs to issue apic_read. So instead
    > > of deforming code with "if" we just allow reads until
    > > SMP support gets disabled. But even then we still need
    > > apic_read issued on a such machine at shutdown procedure.
    > >
    > > 2) x86-64 at moment properly uses cpu_has_apic and turn
    > > this feature off as only chip is disabled together
    > > with disable_apic flag.
    > >
    >
    > Could you clarify the question I asked yesterday: how is the "or"
    > different from just warning unconditionally (which would at least be a
    > lot more clear)?

    Hmm, indeed it seems that unconditional WARN would be more clean
    and reliable. Will recheck all apic_write calls.

    > Can the situation that !cpu_has_apic && disable_apic
    > actually happen and we *still* end up in apic_write?

    No, this situation should not take place as far as I remember.

    >
    > -hpa
    >
    -- Cyrill


    \
     
     \ /
      Last update: 2009-12-08 21:29    [W:0.024 / U:0.236 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site