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
Kirill Smelkov
linux
Commits
8094f525
Commit
8094f525
authored
Nov 23, 2007
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Import 2.3.99pre10-2
parent
aea3fab5
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
26 additions
and
1 deletion
+26
-1
arch/i386/defconfig
arch/i386/defconfig
+1
-1
arch/i386/kernel/apic.c
arch/i386/kernel/apic.c
+5
-0
arch/i386/kernel/smp.c
arch/i386/kernel/smp.c
+10
-0
arch/i386/kernel/smpboot.c
arch/i386/kernel/smpboot.c
+5
-0
include/asm-i386/apic.h
include/asm-i386/apic.h
+5
-0
No files found.
arch/i386/defconfig
View file @
8094f525
...
@@ -19,6 +19,7 @@ CONFIG_UID16=y
...
@@ -19,6 +19,7 @@ CONFIG_UID16=y
# CONFIG_M586 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586TSC is not set
CONFIG_M686=y
CONFIG_M686=y
# CONFIG_M686FX is not set
# CONFIG_MK6 is not set
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set
# CONFIG_MK7 is not set
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_WP_WORKS_OK=y
...
@@ -194,7 +195,6 @@ CONFIG_IDEPCI_SHARE_IRQ=y
...
@@ -194,7 +195,6 @@ CONFIG_IDEPCI_SHARE_IRQ=y
# CONFIG_BLK_DEV_OFFBOARD is not set
# CONFIG_BLK_DEV_OFFBOARD is not set
# CONFIG_IDEDMA_PCI_AUTO is not set
# CONFIG_IDEDMA_PCI_AUTO is not set
# CONFIG_BLK_DEV_IDEDMA is not set
# CONFIG_BLK_DEV_IDEDMA is not set
# CONFIG_IDEDMA_PCI_EXPERIMENTAL is not set
# CONFIG_IDEDMA_PCI_WIP is not set
# CONFIG_IDEDMA_PCI_WIP is not set
# CONFIG_IDEDMA_NEW_DRIVE_LISTINGS is not set
# CONFIG_IDEDMA_NEW_DRIVE_LISTINGS is not set
# CONFIG_BLK_DEV_AEC62XX is not set
# CONFIG_BLK_DEV_AEC62XX is not set
...
...
arch/i386/kernel/apic.c
View file @
8094f525
...
@@ -128,6 +128,11 @@ void disable_local_APIC(void)
...
@@ -128,6 +128,11 @@ void disable_local_APIC(void)
void
__init
sync_Arb_IDs
(
void
)
void
__init
sync_Arb_IDs
(
void
)
{
{
/*
* Wait for idle.
*/
apic_wait_icr_idle
();
Dprintk
(
"Synchronizing Arb IDs.
\n
"
);
Dprintk
(
"Synchronizing Arb IDs.
\n
"
);
apic_write_around
(
APIC_ICR
,
APIC_DEST_ALLINC
|
APIC_INT_LEVELTRIG
apic_write_around
(
APIC_ICR
,
APIC_DEST_ALLINC
|
APIC_INT_LEVELTRIG
|
APIC_DM_INIT
);
|
APIC_DM_INIT
);
...
...
arch/i386/kernel/smp.c
View file @
8094f525
...
@@ -132,6 +132,11 @@ static inline void __send_IPI_shortcut(unsigned int shortcut, int vector)
...
@@ -132,6 +132,11 @@ static inline void __send_IPI_shortcut(unsigned int shortcut, int vector)
*/
*/
unsigned
int
cfg
;
unsigned
int
cfg
;
/*
* Wait for idle.
*/
apic_wait_icr_idle
();
/*
/*
* No need to touch the target chip field
* No need to touch the target chip field
*/
*/
...
@@ -172,6 +177,11 @@ static inline void send_IPI_mask(int mask, int vector)
...
@@ -172,6 +177,11 @@ static inline void send_IPI_mask(int mask, int vector)
__save_flags
(
flags
);
__save_flags
(
flags
);
__cli
();
__cli
();
/*
* Wait for idle.
*/
apic_wait_icr_idle
();
/*
/*
* prepare target chip field
* prepare target chip field
*/
*/
...
...
arch/i386/kernel/smpboot.c
View file @
8094f525
...
@@ -502,6 +502,11 @@ static inline void inquire_remote_apic(int apicid)
...
@@ -502,6 +502,11 @@ static inline void inquire_remote_apic(int apicid)
for
(
i
=
0
;
i
<
sizeof
(
regs
)
/
sizeof
(
*
regs
);
i
++
)
{
for
(
i
=
0
;
i
<
sizeof
(
regs
)
/
sizeof
(
*
regs
);
i
++
)
{
printk
(
"... APIC #%d %s: "
,
apicid
,
names
[
i
]);
printk
(
"... APIC #%d %s: "
,
apicid
,
names
[
i
]);
/*
* Wait for idle.
*/
apic_wait_icr_idle
();
apic_write_around
(
APIC_ICR2
,
SET_APIC_DEST_FIELD
(
apicid
));
apic_write_around
(
APIC_ICR2
,
SET_APIC_DEST_FIELD
(
apicid
));
apic_write_around
(
APIC_ICR
,
APIC_DM_REMRD
|
regs
[
i
]);
apic_write_around
(
APIC_ICR
,
APIC_DM_REMRD
|
regs
[
i
]);
...
...
include/asm-i386/apic.h
View file @
8094f525
...
@@ -34,6 +34,11 @@ extern __inline unsigned long apic_read(unsigned long reg)
...
@@ -34,6 +34,11 @@ extern __inline unsigned long apic_read(unsigned long reg)
return
*
((
volatile
unsigned
long
*
)(
APIC_BASE
+
reg
));
return
*
((
volatile
unsigned
long
*
)(
APIC_BASE
+
reg
));
}
}
static
__inline__
void
apic_wait_icr_idle
(
void
)
{
do
{
}
while
(
apic_read
(
APIC_ICR
)
&
APIC_ICR_BUSY
);
}
extern
unsigned
int
apic_timer_irqs
[
NR_CPUS
];
extern
unsigned
int
apic_timer_irqs
[
NR_CPUS
];
#ifdef CONFIG_X86_GOOD_APIC
#ifdef CONFIG_X86_GOOD_APIC
...
...
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