Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
0179c339
Commit
0179c339
authored
Aug 15, 2003
by
Len Brown
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ACPI now honors "noapic" cmdline option
config tweaks from Dominik Brodowski
parent
d71cbf26
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
24 additions
and
5 deletions
+24
-5
arch/i386/kernel/acpi/boot.c
arch/i386/kernel/acpi/boot.c
+9
-0
arch/i386/kernel/dmi_scan.c
arch/i386/kernel/dmi_scan.c
+9
-4
arch/i386/kernel/setup.c
arch/i386/kernel/setup.c
+5
-0
drivers/acpi/Kconfig
drivers/acpi/Kconfig
+1
-1
No files found.
arch/i386/kernel/acpi/boot.c
View file @
0179c339
...
@@ -420,6 +420,15 @@ acpi_boot_init (void)
...
@@ -420,6 +420,15 @@ acpi_boot_init (void)
return
1
;
return
1
;
}
}
/*
* if "noapic" boot option, don't look for IO-APICs
*/
if
(
skip_ioapic_setup
)
{
printk
(
KERN_INFO
PREFIX
"Skipping IOAPIC probe "
"due to 'noapic' option.
\n
"
);
return
1
;
}
result
=
acpi_table_parse_madt
(
ACPI_MADT_IOAPIC
,
acpi_parse_ioapic
);
result
=
acpi_table_parse_madt
(
ACPI_MADT_IOAPIC
,
acpi_parse_ioapic
);
if
(
!
result
)
{
if
(
!
result
)
{
printk
(
KERN_ERR
PREFIX
"No IOAPIC entries present
\n
"
);
printk
(
KERN_ERR
PREFIX
"No IOAPIC entries present
\n
"
);
...
...
arch/i386/kernel/dmi_scan.c
View file @
0179c339
...
@@ -415,16 +415,19 @@ static __init int swab_apm_power_in_minutes(struct dmi_blacklist *d)
...
@@ -415,16 +415,19 @@ static __init int swab_apm_power_in_minutes(struct dmi_blacklist *d)
* The MP1.4 table is right however and so SMP kernels tend to work.
* The MP1.4 table is right however and so SMP kernels tend to work.
*/
*/
extern
int
skip_ioapic_setup
;
static
__init
int
broken_pirq
(
struct
dmi_blacklist
*
d
)
static
__init
int
broken_pirq
(
struct
dmi_blacklist
*
d
)
{
{
printk
(
KERN_INFO
" *** Possibly defective BIOS detected (irqtable)
\n
"
);
printk
(
KERN_INFO
" *** Possibly defective BIOS detected (irqtable)
\n
"
);
printk
(
KERN_INFO
" *** Many BIOSes matching this signature have incorrect IRQ routing tables.
\n
"
);
printk
(
KERN_INFO
" *** Many BIOSes matching this signature have incorrect IRQ routing tables.
\n
"
);
printk
(
KERN_INFO
" *** If you see IRQ problems, in particular SCSI resets and hangs at boot
\n
"
);
printk
(
KERN_INFO
" *** If you see IRQ problems, in particular SCSI resets and hangs at boot
\n
"
);
printk
(
KERN_INFO
" *** contact your hardware vendor and ask about updates.
\n
"
);
printk
(
KERN_INFO
" *** contact your hardware vendor and ask about updates.
\n
"
);
printk
(
KERN_INFO
" *** Building an SMP kernel may evade the bug some of the time.
\n
"
);
printk
(
KERN_INFO
" *** Building an SMP kernel may evade the bug some of the time.
\n
"
);
#ifdef CONFIG_X86_IO_APIC
#ifdef CONFIG_X86_IO_APIC
skip_ioapic_setup
=
0
;
{
extern
int
skip_ioapic_setup
;
skip_ioapic_setup
=
0
;
}
#endif
#endif
return
0
;
return
0
;
}
}
...
@@ -516,7 +519,6 @@ static __init int print_if_true(struct dmi_blacklist *d)
...
@@ -516,7 +519,6 @@ static __init int print_if_true(struct dmi_blacklist *d)
extern
int
acpi_disabled
,
acpi_force
;
extern
int
acpi_disabled
,
acpi_force
;
extern
int
skip_ioapic_setup
;
static
__init
__attribute__
((
unused
))
int
acpi_disable
(
struct
dmi_blacklist
*
d
)
static
__init
__attribute__
((
unused
))
int
acpi_disable
(
struct
dmi_blacklist
*
d
)
{
{
...
@@ -996,13 +998,15 @@ static __initdata struct dmi_blacklist dmi_blacklist[]={
...
@@ -996,13 +998,15 @@ static __initdata struct dmi_blacklist dmi_blacklist[]={
* returns 1 or we hit the end.
* returns 1 or we hit the end.
*/
*/
#define ACPI_BLACKLIST_CUTOFF_YEAR 2001
static
__init
void
dmi_check_blacklist
(
void
)
static
__init
void
dmi_check_blacklist
(
void
)
{
{
struct
dmi_blacklist
*
d
;
struct
dmi_blacklist
*
d
;
int
i
;
int
i
;
#ifdef CONFIG_ACPI_BOOT
#define ACPI_BLACKLIST_CUTOFF_YEAR 2001
if
(
dmi_ident
[
DMI_BIOS_DATE
])
{
if
(
dmi_ident
[
DMI_BIOS_DATE
])
{
char
*
s
=
strrchr
(
dmi_ident
[
DMI_BIOS_DATE
],
'/'
);
char
*
s
=
strrchr
(
dmi_ident
[
DMI_BIOS_DATE
],
'/'
);
if
(
s
)
{
if
(
s
)
{
...
@@ -1020,6 +1024,7 @@ static __init void dmi_check_blacklist(void)
...
@@ -1020,6 +1024,7 @@ static __init void dmi_check_blacklist(void)
}
}
}
}
}
}
#endif
d
=&
dmi_blacklist
[
0
];
d
=&
dmi_blacklist
[
0
];
while
(
d
->
callback
)
while
(
d
->
callback
)
...
...
arch/i386/kernel/setup.c
View file @
0179c339
...
@@ -542,6 +542,11 @@ static void __init parse_cmdline_early (char ** cmdline_p)
...
@@ -542,6 +542,11 @@ static void __init parse_cmdline_early (char ** cmdline_p)
acpi_ht
=
1
;
acpi_ht
=
1
;
if
(
!
acpi_force
)
acpi_disabled
=
1
;
if
(
!
acpi_force
)
acpi_disabled
=
1
;
}
}
/* disable IO-APIC */
else
if
(
!
memcmp
(
from
,
"noapic"
,
6
))
{
skip_ioapic_setup
=
1
;
}
#endif
#endif
/*
/*
...
...
drivers/acpi/Kconfig
View file @
0179c339
...
@@ -6,7 +6,7 @@ menu "ACPI (Advanced Configuration and Power Interface) Support"
...
@@ -6,7 +6,7 @@ menu "ACPI (Advanced Configuration and Power Interface) Support"
config ACPI_HT
config ACPI_HT
bool "ACPI Processor Enumeration for HT"
bool "ACPI Processor Enumeration for HT"
depends on
(X86 && X86_LOCAL_APIC)
depends on
X86
default y
default y
---help---
---help---
ACPI enumerates both logical (a.k.a. Hyper-Threaded -- HT)
ACPI enumerates both logical (a.k.a. Hyper-Threaded -- HT)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment