From: "Martin J. Bligh" <Martin.Bligh@us.ibm.com>
To: Linus Torvalds <torvalds@transmeta.com>
Cc: linux-kernel <linux-kernel@vger.kernel.org>
Subject: [PATCH] Summit support for 2.5 - now with subarch! [4/5]
Date: Mon, 14 Oct 2002 15:27:51 -0700 [thread overview]
Message-ID: <77280000.1034634471@flay> (raw)
Adds detection for summit machines from the MPS tables.
Prints a handy-dandy debug message telling you what kind of twisted
machine the kernel thinks you have.
diff -purN -X /home/mbligh/.diff.exclude subarch-3/arch/i386/kernel/mpparse.c subarch-4/arch/i386/kernel/mpparse.c
--- subarch-3/arch/i386/kernel/mpparse.c Fri Oct 11 21:21:37 2002
+++ subarch-4/arch/i386/kernel/mpparse.c Mon Oct 14 11:15:27 2002
@@ -30,6 +30,7 @@
#include <asm/mpspec.h>
#include <asm/pgalloc.h>
#include <asm/io_apic.h>
+#include "mach_apic.h"
/* Have we found an MP table */
int smp_found_config;
@@ -69,6 +70,8 @@ static unsigned int __initdata num_proce
/* Bitmask of physically existing CPUs */
unsigned long phys_cpu_present_map;
+int summit_x86 = 0;
+
/*
* Intel MP BIOS table parsing routines:
*/
@@ -356,6 +359,7 @@ static void __init smp_read_mpc_oem(stru
static int __init smp_read_mpc(struct mp_config_table *mpc)
{
char str[16];
+ char oem[10];
int count=sizeof(*mpc);
unsigned char *mpt=((unsigned char *)mpc)+count;
@@ -380,14 +384,16 @@ static int __init smp_read_mpc(struct mp
printk(KERN_ERR "SMP mptable: null local APIC address!\n");
return 0;
}
- memcpy(str,mpc->mpc_oem,8);
- str[8]=0;
- printk("OEM ID: %s ",str);
+ memcpy(oem,mpc->mpc_oem,8);
+ oem[8]=0;
+ printk("OEM ID: %s ",oem);
memcpy(str,mpc->mpc_productid,12);
str[12]=0;
printk("Product ID: %s ",str);
+ summit_check(oem, str);
+
printk("APIC at: 0x%lX\n",mpc->mpc_lapic);
/*
@@ -465,6 +471,7 @@ static int __init smp_read_mpc(struct mp
}
++mpc_record;
}
+ clustered_apic_check();
if (!num_processors)
printk(KERN_ERR "SMP mptable: no processors registered!\n");
return num_processors;
diff -purN -X /home/mbligh/.diff.exclude subarch-3/arch/i386/mach-generic/mach_apic.h subarch-4/arch/i386/mach-generic/mach_apic.h
--- subarch-3/arch/i386/mach-generic/mach_apic.h Mon Oct 14 11:00:46 2002
+++ subarch-4/arch/i386/mach-generic/mach_apic.h Mon Oct 14 11:18:22 2002
@@ -20,4 +20,14 @@ static inline unsigned long calculate_ld
#define APIC_BROADCAST_ID 0x0F
#define check_apicid_used(bitmap, apicid) (bitmap & (1 << apicid))
+static inline void summit_check(char *oem, char *productid)
+{
+}
+
+static inline void clustered_apic_check(void)
+{
+ printk("Enabling APIC mode: %s. Using %d I/O APICs\n",
+ (clustered_apic_mode ? "NUMA-Q" : "Flat"), nr_ioapics);
+}
+
#endif /* __ASM_MACH_APIC_H */
diff -purN -X /home/mbligh/.diff.exclude subarch-3/arch/i386/mach-summit/mach_apic.h subarch-4/arch/i386/mach-summit/mach_apic.h
--- subarch-3/arch/i386/mach-summit/mach_apic.h Mon Oct 14 11:01:00 2002
+++ subarch-4/arch/i386/mach-summit/mach_apic.h Mon Oct 14 11:18:08 2002
@@ -26,4 +26,16 @@ static inline unsigned long calculate_ld
#define APIC_BROADCAST_ID (x86_summit ? 0xFF : 0x0F)
#define check_apicid_used(bitmap, apicid) (0)
+static inline void summit_check(char *oem, char *productid)
+{
+ if (!strncmp(oem, "IBM ENSW", 8) && !strncmp(str, "VIGIL SMP", 9))
+ x86_summit = 1;
+}
+
+static inline void clustered_apic_check(void)
+{
+ printk("Enabling APIC mode: %s. Using %d I/O APICs\n",
+ (x86_summit ? "Summit" : "Flat"), nr_ioapics);
+}
+
#endif /* __ASM_MACH_APIC_H */
next reply other threads:[~2002-10-14 22:27 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-10-14 22:27 Martin J. Bligh [this message]
2002-10-14 23:11 [PATCH] Summit support for 2.5 - now with subarch! [4/5] James Bottomley
2002-10-14 23:35 ` Martin J. Bligh
2002-10-15 0:17 ` Martin J. Bligh
2002-10-15 17:30 ` James Bottomley
2002-10-15 17:32 ` Martin J. Bligh
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=77280000.1034634471@flay \
--to=martin.bligh@us.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@transmeta.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 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).