All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bastian Blank <bastian@waldi.eu.org>
To: Andreas Herrmann <andreas.herrmann3@amd.com>
Cc: Ingo Molnar <mingo@elte.hu>, Thomas Gleixner <tglx@linutronix.de>,
	"H. Peter Anvin" <hpa@zytor.com>,
	linux-kernel@vger.kernel.org, xen-devel@lists.xensource.com,
	Jeremy Fitzhardinge <jeremy@goop.org>
Subject: Re: [PATCH] x86: detect use of extended APIC ID for AMD CPUs
Date: Tue, 21 Jul 2009 12:36:42 +0200	[thread overview]
Message-ID: <20090721103642.GA10071@wavehammer.waldi.eu.org> (raw)
In-Reply-To: <20090604104016.GT5736@alberich.amd.com>

On Thu, Jun 04, 2009 at 12:40:16PM +0200, Andreas Herrmann wrote:
> Booting a 32-bit kernel on Magny-Cours results in the following panic

This patch breaks Xen really bad. It uses read_pci_config without
knowing that there is something accessible. Also read_pci_config does
not define fault handlers.

| (XEN) traps.c:413:d375 Unhandled general protection fault fault/trap [#13] on VCPU 0 [ec=0000]
| (XEN) domain_crash_sync called from entry.S
| (XEN) Domain 375 (vcpu#0) crashed on cpu#1:
| (XEN) ----[ Xen-3.2-1  x86_64  debug=n  Not tainted ]----
| (XEN) CPU:    1
| (XEN) RIP:    e033:[<ffffffff80401d6b>]
| (XEN) RFLAGS: 0000000000000282   CONTEXT: guest
| (XEN) rax: 000000008000c068   rbx: ffffffff80618a40   rcx: 0000000000000068
| (XEN) rdx: 0000000000000cf8   rsi: 000000000000c000   rdi: 0000000000000000
| (XEN) rbp: 0000000000000018   rsp: ffffffff80621eb0   r8:  ffffffff80621efc
| (XEN) r9:  00000000ffffffff   r10: ffffffff80621ef8   r11: 00000000ffffffff
| (XEN) r12: ffffffffffffffff   r13: ffffffff80621fd8   r14: 0000002040404030
| (XEN) r15: 00000000015bb600   cr0: 000000008005003b   cr4: 00000000000006f0
| (XEN) cr3: 00000002077be000   cr2: 000000204316b000
| (XEN) ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: e02b   cs: e033
| (XEN) Guest stack trace from rsp=ffffffff80621eb0:
| (XEN)    0000000000000068 00000000ffffffff 0000000000000000 ffffffff80401d6b
| (XEN)    000000010000e030 0000000000010082 ffffffff80621ef0 000000000000e02b
| (XEN)    ffffffff804aeb3a 0000000100000000 0000302800000000 ffffffff805bcb20
| (XEN)    ffffffff80651552 0000000000000000 0000000000000000 0000000000fdfd88
| (XEN)    ffffffff8064e47c 0000000001fb9000 ffffffff80545875 0000000000000800
| (XEN)    0000000000002c00 ffffffff81fb9000 ffffffff80650026 ffffffff805ca1c0

| ffffffff80401d44 T read_pci_config
| ffffffff804aeb41 t early_init_amd

I see several ways to fix this:
- Define fault handlers for *_pci_config
- Check for Xen
- Disable early PCI access from Xen if running unpriviledged and check
  that in either in *_pci_config or early_init_amd

Bastian

-- 
Insults are effective only where emotion is present.
		-- Spock, "Who Mourns for Adonais?"  stardate 3468.1

WARNING: multiple messages have this Message-ID (diff)
From: Bastian Blank <bastian@waldi.eu.org>
To: Andreas Herrmann <andreas.herrmann3@amd.com>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	xen-devel@lists.xensource.com, linux-kernel@vger.kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@elte.hu>,
	Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [PATCH] x86: detect use of extended APIC ID for AMD CPUs
Date: Tue, 21 Jul 2009 12:36:42 +0200	[thread overview]
Message-ID: <20090721103642.GA10071@wavehammer.waldi.eu.org> (raw)
In-Reply-To: <20090604104016.GT5736@alberich.amd.com>

On Thu, Jun 04, 2009 at 12:40:16PM +0200, Andreas Herrmann wrote:
> Booting a 32-bit kernel on Magny-Cours results in the following panic

This patch breaks Xen really bad. It uses read_pci_config without
knowing that there is something accessible. Also read_pci_config does
not define fault handlers.

| (XEN) traps.c:413:d375 Unhandled general protection fault fault/trap [#13] on VCPU 0 [ec=0000]
| (XEN) domain_crash_sync called from entry.S
| (XEN) Domain 375 (vcpu#0) crashed on cpu#1:
| (XEN) ----[ Xen-3.2-1  x86_64  debug=n  Not tainted ]----
| (XEN) CPU:    1
| (XEN) RIP:    e033:[<ffffffff80401d6b>]
| (XEN) RFLAGS: 0000000000000282   CONTEXT: guest
| (XEN) rax: 000000008000c068   rbx: ffffffff80618a40   rcx: 0000000000000068
| (XEN) rdx: 0000000000000cf8   rsi: 000000000000c000   rdi: 0000000000000000
| (XEN) rbp: 0000000000000018   rsp: ffffffff80621eb0   r8:  ffffffff80621efc
| (XEN) r9:  00000000ffffffff   r10: ffffffff80621ef8   r11: 00000000ffffffff
| (XEN) r12: ffffffffffffffff   r13: ffffffff80621fd8   r14: 0000002040404030
| (XEN) r15: 00000000015bb600   cr0: 000000008005003b   cr4: 00000000000006f0
| (XEN) cr3: 00000002077be000   cr2: 000000204316b000
| (XEN) ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: e02b   cs: e033
| (XEN) Guest stack trace from rsp=ffffffff80621eb0:
| (XEN)    0000000000000068 00000000ffffffff 0000000000000000 ffffffff80401d6b
| (XEN)    000000010000e030 0000000000010082 ffffffff80621ef0 000000000000e02b
| (XEN)    ffffffff804aeb3a 0000000100000000 0000302800000000 ffffffff805bcb20
| (XEN)    ffffffff80651552 0000000000000000 0000000000000000 0000000000fdfd88
| (XEN)    ffffffff8064e47c 0000000001fb9000 ffffffff80545875 0000000000000800
| (XEN)    0000000000002c00 ffffffff81fb9000 ffffffff80650026 ffffffff805ca1c0

| ffffffff80401d44 T read_pci_config
| ffffffff804aeb41 t early_init_amd

I see several ways to fix this:
- Define fault handlers for *_pci_config
- Check for Xen
- Disable early PCI access from Xen if running unpriviledged and check
  that in either in *_pci_config or early_init_amd

Bastian

-- 
Insults are effective only where emotion is present.
		-- Spock, "Who Mourns for Adonais?"  stardate 3468.1

  parent reply	other threads:[~2009-07-21 10:43 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-04 10:40 [PATCH] x86: detect use of extended APIC ID for AMD CPUs Andreas Herrmann
2009-06-07 14:42 ` [tip:x86/urgent] x86: Detect " tip-bot for Andreas Herrmann
2009-06-07 15:33   ` Ingo Molnar
2009-06-08 12:01     ` Andreas Herrmann
2009-06-08 13:12       ` [PATCH v2] x86: detect " Andreas Herrmann
2009-06-08 13:55         ` [PATCH v3] " Andreas Herrmann
2009-06-09 14:52           ` [tip:x86/urgent] x86: Detect " tip-bot for Andreas Herrmann
2009-06-07 18:46   ` Yinghai Lu
2009-06-08 12:18     ` Andreas Herrmann
2009-07-21 10:36 ` Bastian Blank [this message]
2009-07-21 10:36   ` [PATCH] x86: detect " Bastian Blank
2009-07-21 16:56   ` Jeremy Fitzhardinge
2009-07-22  9:54     ` Bastian Blank
2009-07-22 14:29       ` Thomas Gleixner
2009-07-22 16:59         ` [PATCH] x86/amd: don't probe for extended APIC ID if APICs are disabled Jeremy Fitzhardinge
2009-07-22 16:59           ` Jeremy Fitzhardinge
2009-07-21 16:56   ` [PATCH] x86: detect use of extended APIC ID for AMD CPUs Jeremy Fitzhardinge

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=20090721103642.GA10071@wavehammer.waldi.eu.org \
    --to=bastian@waldi.eu.org \
    --cc=andreas.herrmann3@amd.com \
    --cc=hpa@zytor.com \
    --cc=jeremy@goop.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=tglx@linutronix.de \
    --cc=xen-devel@lists.xensource.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.