Age | Commit message (Collapse) | Author |
|
redo commit cded932b75ab0a5f9181e.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
This patch is an add-on to the 64-bit ebda patch. It makes
the functions reserve_ebda_region (renamed from reserve_ebda)
and copy_e820_map equal to the 32-bit versions of the previous
patch.
Changes:
Use u64 and u32 for local variables in copy_e820_map.
The amount of conventional memory and the start of the EBDA are
detected by reading the BIOS data area directly. Paravirtual
environments do not provide this area, so we bail out early
in that case. They will just have to set up a correct memory
map to start with.
Add a safety net for zeroed out BIOS data area.
Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
Explicitly reserve_early the whole address range from the end of
conventional memory as reported by the bios data area up to the
1Mb mark. Regard the info retrieved from the BIOS data area with
a bit of paranoia, though, because some biosses forget to register
the EBDA correctly.
Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
This patch adds explicit detection of the EBDA and reservation
of the rom and adapter address space 0xa0000-0x100000 to the
i386 kernels. Before this patch, the EBDA size was hardcoded
as 4Kb. Also, the reservation of the adapter range was done by
modifying the e820 map which is now not necessary any longer,
and that code is removed from copy_e820_map.
The amount of conventional memory and the start of the EBDA are
detected by reading the BIOS data area directly. Paravirtual
environments do not provide this area, so we bail out early
in that case. They will just have to set up a correct memory
map to start with.
Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
The proper dependency check uncovered a few dependency problems,
the subarchitecture used a mixture of selects and depends on SMP
and PCI dependency was messed up.
Signed-off-by: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
Change iret implementation to not be dependent on direct-access vcpu
structure.
Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
Depends on:
[PATCH 2/3] x86: coding style fixes to arch/x86/kernel/early_printk.c
Remove two:
ERROR: do not initialise statics to 0 or NULL
paolo@paolo-desktop:/tmp/c$ size *
text data bss dec hex filename
1172 280 12 1464 5b8 early_printk.o.after
1172 280 12 1464 5b8 early_printk.o.before
This patch is changing the binary output:
paolo@paolo-desktop:/tmp/c$ md5sum *
dad9a9a881e0eeda62cc5645bd3d7cad early_printk.o.after
da32f5cd8f248970e4809e1005393e95 early_printk.o.before
because the two variables moved to another section. No
change in functionality.
Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
Before:
total: 17 errors, 3 warnings, 254 lines checked
After:
total: 2 errors, 3 warnings, 254 lines checked
paolo@paolo-desktop:/tmp/b$ md5sum *
da32f5cd8f248970e4809e1005393e95 early_printk.o.after
da32f5cd8f248970e4809e1005393e95 early_printk.o.before
paolo@paolo-desktop:/tmp/b$ size *
text data bss dec hex filename
1172 280 12 1464 5b8 early_printk.o.after
1172 280 12 1464 5b8 early_printk.o.befor
Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
Before:
total: 63 errors, 2 warnings, 878 lines checked
After:
total: 0 errors, 2 warnings, 878 lines checked
Compile tested, no change in the binary output:
text data bss dec hex filename
3231 0 0 3231 c9f usercopy_32.o.after
3231 0 0 3231 c9f usercopy_32.o.before
md5sum:
9f9a3eb43970359ae7cecfd1c9e7cf42 usercopy_32.o.after
9f9a3eb43970359ae7cecfd1c9e7cf42 usercopy_32.o.before
Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
Suggested by Jan Beulich.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Acked-by: Jan Beulich <jbeulich@novell.com>
|
|
X86_HT is used for hyperthreading or multicore on 32-bit.
The X86_HT on 64-bit is different from 32-bit, it means hyperthreading only.
And X86_HT is not used on 64-bit except from cpu/initel_cacheinfo.c.
Unify X86_HT for hyperthreading or multicore.
Turn X86_HT on when X86_64 and SMP are enabled.
Signed-off-by: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
Roland Dreier reported in http://lkml.org/lkml/2008/2/27/194
[ 8425.915139] BUG: unable to handle kernel paging request at ffffc20001a0a000
[ 8425.919087] IP: [<ffffffff8021dacc>] clflush_cache_range+0xc/0x25
[ 8425.919087] PGD 1bf80e067 PUD 1bf80f067 PMD 1bb497067 PTE 80000047000ee17b
This is on a Intel machine with 36bit physical address space. The PTE
entry references 47000ee000, which is outside of it.
Add a check for the physical address space and warn/printk about the
stupid caller.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
This makes the Xen console just work. Before, you had to ask for it
on the kernel command line with console=hvc0
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
notrace signals that a function should not be traced. Most of the
time this is used by tracers to annotate code that cannot be
traced - it's in a volatile state (such as in user vdso context
or NMI context) or it's in the tracer internals.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
Signed-off-by: Alexey Dobriyan <adobriyan@sw.ru>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
Before:
total: 86 errors, 29 warnings, 1248 lines checked
After:
total: 0 errors, 17 warnings, 1281 lines checked
No code changed:
arch/x86/kernel/traps_32.o:
text data bss dec hex filename
8711 2168 72 10951 2ac7 traps_32.o.before
8711 2168 72 10951 2ac7 traps_32.o.after
(md5 sums differ because some stack offset positions changed.)
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
introduce test_cpu_cap() for raw access to the real CPU
capabilities as they are present in x86_capability.
(cpu_has() will shortcut certain tests during build-time)
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
early_init_intel() on 64-bit is introduced by
commit 2b16a2353814a513cdb5c5c739b76a19d7ea39ce
Author: Andi Kleen <ak@suse.de>
Date: Wed Jan 30 13:32:40 2008 +0100
x86: move X86_FEATURE_CONSTANT_TSC into early cpu feature detection
sets CONSTANT_TSC for intel cpus - but it is already set in init_intel().
don't need to set that two times in early_init_intel() and init_intel().
this patch removes the init_intel() one.
Signed-off-by: Yinghai Lu <yinghai.lu@sun.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
remove the arch/x86/mach-rdc321x/wdt.c file.
Signed-off-by: Florian Fainelli <florian.fainelli@telecomint.eu>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
quad core 8 socket system will have apic id lifting.the apic id range could
be [4, 0x23]. and apic_is_clustered_box will think that need to three clusters
and that is larger than 2. So it is treated as a clustered_box.
and will get:
Marking TSC unstable due to TSCs unsynchronized
even if the CPUs have X86_FEATURE_CONSTANT_TSC set.
this quick fix will check if the cpu is from AMD.
but vsmp still needs that checking...
this patch is fix to make sure that vsmp not to be passed.
Signed-off-by: Yinghai Lu <yinghai.lu@sun.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
Before:
total: 55 errors, 6 warnings, 727 lines checked
After:
total: 0 errors, 3 warnings, 734 lines checked
No code changed:
arch/x86/kernel/cpu/common.o:
text data bss dec hex filename
3500 4611 44 8155 1fdb common.o.before
3500 4611 44 8155 1fdb common.o.after
md5:
e37091f11fbeb682c0db152ac3022a38 common.o.before.asm
e37091f11fbeb682c0db152ac3022a38 common.o.after.asm
Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
Before:
total: 15 errors, 3 warnings, 133 lines checked
After:
total: 0 errors, 0 warnings, 138 lines checked
No code changed:
arch/x86/power/cpu_32.o:
text data bss dec hex filename
739 0 84 823 337 cpu_32.o.before
739 0 84 823 337 cpu_32.o.after
md5:
eb0726223a5e26b195e65f0ae2c0ec66 cpu_32.o.before.asm
eb0726223a5e26b195e65f0ae2c0ec66 cpu_32.o.after.asm
Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
Before:
total: 2 errors, 2 warnings, 138 lines checked
After:
total: 0 errors, 2 warnings, 138 lines checked
No code changed:
arch/x86/xen/multicalls.o:
text data bss dec hex filename
887 2832 0 3719 e87 multicalls.o.before
887 2832 0 3719 e87 multicalls.o.after
md5:
cf6d72d9db6dc5a3ebe01eec9f05e95f multicalls.o.before.asm
cf6d72d9db6dc5a3ebe01eec9f05e95f multicalls.o.after.asm
Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
Before:
total: 2 errors, 0 warnings, 231 lines checked
After:
total: 0 errors, 0 warnings, 231 lines checked
No code changed:
arch/x86/kernel/msr.o:
text data bss dec hex filename
1199 12 4 1215 4bf msr.o.before
1199 12 4 1215 4bf msr.o.after
md5:
604be0d07d829bc52a9346babd084bdc msr.o.before.asm
604be0d07d829bc52a9346babd084bdc msr.o.after.asm
Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
Before:
total: 3 errors, 0 warnings, 69 lines checked
After:
total: 0 errors, 0 warnings, 69 lines checked
No code changed:
arch/x86/oprofile/nmi_timer_int.o:
text data bss dec hex filename
180 12 0 192 c0 nmi_timer_int.o.before
180 12 0 192 c0 nmi_timer_int.o.after
md5:
0433c31d758e81da574e01722a8036ea nmi_timer_int.o.before.asm
0433c31d758e81da574e01722a8036ea nmi_timer_int.o.after.asm
Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
Before:
total: 46 errors, 10 warnings, 450 lines checked
After:
total: 1 errors, 10 warnings, 449 lines checked
No code changed:
arch/x86/kernel/cpu/cyrix.o:
text data bss dec hex filename
2048 908 4 2960 b90 cyrix.o.before
2048 908 4 2960 b90 cyrix.o.after
md5:
9add5e69dbd788f91ff24eea8462dad7 cyrix.o.before.asm
9add5e69dbd788f91ff24eea8462dad7 cyrix.o.after.asm
Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
Before:
total: 30 errors, 0 warnings, 262 lines checked
After:
total: 0 errors, 0 warnings, 262 lines checked
No code changed:
arch/x86/boot/cpucheck.o:
text data bss dec hex filename
989 0 96 1085 43d cpucheck.o.before
989 0 96 1085 43d cpucheck.o.after
md5:
06634cfefb8438fa284ff903b4cafbce cpucheck.o.before.asm
06634cfefb8438fa284ff903b4cafbce cpucheck.o.after.asm
Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
Before:
total: 10 errors, 3 warnings, 90 lines checked
After:
total: 0 errors, 3 warnings, 90 lines checked
No code changed:
arch/x86/kernel/cpu/mcheck/mce_32.o:
text data bss dec hex filename
287 42 12 341 155 mce_32.o.before
287 42 12 341 155 mce_32.o.after
md5:
fede5ff8e6bc3f62e8e691ca6c45eb39 mce_32.o.before.asm
fede5ff8e6bc3f62e8e691ca6c45eb39 mce_32.o.after.asm
Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
Before:
total: 4 errors, 0 warnings, 36 lines checked
After:
total: 0 errors, 0 warnings, 36 lines checked
No code changed:
arch/x86/kernel/cpu/mcheck/winchip.o:
text data bss dec hex filename
222 0 4 226 e2 winchip.o.before
222 0 4 226 e2 winchip.o.after
md5:
9caefa12256c5f7d71ef324f6d01a2d5 winchip.o.before.asm
9caefa12256c5f7d71ef324f6d01a2d5 winchip.o.after.asm
Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
Before:
total: 5 errors, 5 warnings, 91 lines checked
After:
total: 0 errors, 0 warnings, 94 lines checked
No code changed:
arch/x86/kernel/cpu/mcheck/non-fatal.o:
text data bss dec hex filename
441 80 4 525 20d non-fatal.o.before
441 80 4 525 20d non-fatal.o.after
md5:
137bc114d2020ad331d5e76444a2c7d3 non-fatal.o.before.asm
137bc114d2020ad331d5e76444a2c7d3 non-fatal.o.after.asm
Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
Before:
total: 64 errors, 18 warnings, 840 lines checked
After:
total: 12 errors, 15 warnings, 844 lines checked
No code changed:
arch/x86/kernel/vm86_32.o:
text data bss dec hex filename
4449 28 132 4609 1201 vm86_32.o.before
4449 28 132 4609 1201 vm86_32.o.after
md5:
e4e51ed7689d17f04148554a3c6d5bb6 vm86_32.o.before.asm
e4e51ed7689d17f04148554a3c6d5bb6 vm86_32.o.after.asm
Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
Before:
total: 42 errors, 26 warnings, 350 lines checked
After:
total: 0 errors, 26 warnings, 352 lines checked
No code changed:
arch/x86/kernel/cpu/amd.o:
text data bss dec hex filename
1936 328 0 2264 8d8 amd.o.before
1936 328 0 2264 8d8 amd.o.after
md5:
873430a88faaf31bb4bbfe3a2a691e45 amd.o.before.asm
873430a88faaf31bb4bbfe3a2a691e45 amd.o.after.asm
Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
Before:
total: 13 errors, 3 warnings, 105 lines checked
After:
total: 0 errors, 3 warnings, 107 lines checked
No code changed:
arch/x86/kernel/cpu/transmeta.o:
text data bss dec hex filename
713 324 0 1037 40d transmeta.o.before
713 324 0 1037 40d transmeta.o.after
md5:
19abe2cafac617e1e2aadc4aa4e9923b transmeta.o.before.asm
19abe2cafac617e1e2aadc4aa4e9923b transmeta.o.after.asm
Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
Before:
total: 2 errors, 0 warnings, 43 lines checked
After:
total: 0 errors, 0 warnings, 43 lines checked
No code changed:
arch/x86/lib/memcpy_32.o:
text data bss dec hex filename
164 0 0 164 a4 memcpy_32.o.before
164 0 0 164 a4 memcpy_32.o.after
md5:
d759f55621af27f51720b59c8ca96a4d memcpy_32.o.before.asm
d759f55621af27f51720b59c8ca96a4d memcpy_32.o.after.asm
Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
Before:
total: 6 errors, 5 warnings, 80 lines checked
After:
total: 0 errors, 4 warnings, 82 lines checked
No code changed:
arch/x86/kernel/cpu/mtrr/state.o:
text data bss dec hex filename
313 0 4 317 13d state.o.before
313 0 4 317 13d state.o.after
md5:
a0fbd61096205f9180f0bf45ed386d61 state.o.before.asm
a0fbd61096205f9180f0bf45ed386d61 state.o.after.asm
Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
Before:
total: 42 errors, 3 warnings, 469 lines checked
After:
total: 0 errors, 3 warnings, 479 lines checked
No code changed:
arch/x86/kernel/mca_32.o:
text data bss dec hex filename
1832 288 5 2125 84d mca_32.o.before
1832 288 5 2125 84d mca_32.o.after
md5:
c0e45e2b743ce26349eb07dc53e80b94 mca_32.o.before.asm
c0e45e2b743ce26349eb07dc53e80b94 mca_32.o.after.asm
Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
Before:
total: 3 errors, 0 warnings, 31 lines checked
After:
total: 0 errors, 0 warnings, 31 lines checked
No code changed:
arch/x86/lib/strstr_32.o:
text data bss dec hex filename
49 0 0 49 31 strstr_32.o.before
49 0 0 49 31 strstr_32.o.after
md5:
a224a7c4082e75a4f31f9d91dd34fe8e strstr_32.o.before.asm
a224a7c4082e75a4f31f9d91dd34fe8e strstr_32.o.after.asm
Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
Before:
total: 5 errors, 4 warnings, 48 lines checked
After:
total: 0 errors, 4 warnings, 49 lines checked
No code changed:
arch/x86/oprofile/init.o:
text data bss dec hex filename
42 0 0 42 2a init.o.before
42 0 0 42 2a init.o.after
md5:
74c94c315cfbf245aeba36eceac57e66 init.o.before.asm
74c94c315cfbf245aeba36eceac57e66 init.o.after.asm
Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
Before:
total: 37 errors, 16 warnings, 366 lines checked
After:
total: 0 errors, 15 warnings, 369 lines checked
No code changed:
arch/x86/kernel/cpu/intel.o:
text data bss dec hex filename
1534 452 0 1986 7c2 intel.o.before
1534 452 0 1986 7c2 intel.o.after
md5:
1ca348a06de6eb354c4b6ea715a57db5 intel.o.before.asm
1ca348a06de6eb354c4b6ea715a57db5 intel.o.after.asm
Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
Before:
total: 20 errors, 17 warnings, 180 lines checked
After:
total: 0 errors, 17 warnings, 183 lines checked
No code changed:
arch/x86/kernel/summit_32.o:
text data bss dec hex filename
932 192 0 1124 464 summit_32.o.before
932 192 0 1124 464 summit_32.o.after
md5:
217aa5f002f217e56ef9d8e5c74b60e0 summit_32.o.before.asm
217aa5f002f217e56ef9d8e5c74b60e0 summit_32.o.after.asm
Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
Before:
total: 1 errors, 0 warnings, 178 lines checked
After:
total: 0 errors, 0 warnings, 178 lines checked
No code changed:
arch/x86/boot/pm.o:
text data bss dec hex filename
351 0 6 357 165 pm.o.before
351 0 6 357 165 pm.o.after
md5:
81de3616bceb29691bf835bb62a84ff1 pm.o.before.asm
81de3616bceb29691bf835bb62a84ff1 pm.o.after.asm
Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
|
when comparing the e820 direct from BIOS, and the one by kexec:
BIOS-provided physical RAM map:
- BIOS-e820: 0000000000000000 - 0000000000097400 (usable)
+ BIOS-e820: 0000000000000100 - 0000000000097400 (usable)
BIOS-e820: 0000000000097400 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000e6000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 00000000dffa0000 (usable)
- BIOS-e820: 00000000dffae000 - 00000000dffb0000 type 9
+ BIOS-e820: 00000000dffae000 - 00000000dffb0000 (reserved)
BIOS-e820: 00000000dffb0000 - 00000000dffbe000 (ACPI data)
BIOS-e820: 00000000dffbe000 - 00000000dfff0000 (ACPI NVS)
BIOS-e820: 00000000dfff0000 - 00000000e0000000 (reserved)
BIOS-e820: 00000000fec00000 - 00000000fec01000 (reserved)
- BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
=======> that is the local apic address... somewhere we lost it
BIOS-e820: 00000000ff700000 - 0000000100000000 (reserved)
BIOS-e820: 0000000100000000 - 0000004020000000 (usable)
found one entry about reserved is missing for the kernel by kexec.
it turns out init_apic_mappings is called before e820_reserve_resources
in setup_arch. but e820_reserve_resources is using request_resource.
it will not handle the conflicts.
there are three ways to fix it:
1. change request_resource in e820_reserve_resources to to insert_resource
2. move init_apic_mappings after e820_reserve_resources
3. use late_initcall to insert lapic resource.
this patch is using method 3, that is less intrusive.
in later version could consider to use method 1.
before patch
fed20000-ffffffff : PCI Bus #00
fee00000-fee00fff : Local APIC
fefff000-feffffff : pnp 00:09
ff700000-ffffffff : reserved
with patch will get map in first kernel
fed20000-ffffffff : PCI Bus #00
fee00000-fee00fff : Local APIC
fee00000-fee00fff : reserved
fefff000-feffffff : pnp 00:09
ff700000-ffffffff : reserved
Signed-off-by: Yinghai Lu <yinghai.lu@sun.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|