diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-10-30 15:50:59 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-10-30 15:50:59 -0400 |
commit | 8bd93ca7b03f38a7bc1a4ed9e93e8c006e753d5b (patch) | |
tree | 308bb026df1360d8708d53ebd4421719b470b2fb | |
parent | 7f82f000ed030d1108b4de47d9e2d556092980c6 (diff) | |
parent | 87c6f40128f92621698f97a62d2ead5184d1dd97 (diff) |
Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
x86, gart: fix gart detection for Fam11h CPUs
x86: 64 bit print out absent pages num too
x86, kdump: fix invalid access on i386 sparsemem
x86: fix APIC_DEBUG with inquire_remote_apic
x86: AMD microcode patch loader author update
x86: microcode patch loader author update
mailmap: add Peter Oruba
x86, bts: improve help text for BTS config
doc/x86: fix doc subdirs
-rw-r--r-- | .mailmap | 2 | ||||
-rw-r--r-- | Documentation/00-INDEX | 4 | ||||
-rw-r--r-- | Documentation/kernel-parameters.txt | 12 | ||||
-rw-r--r-- | Documentation/lguest/lguest.c | 2 | ||||
-rw-r--r-- | Documentation/x86/x86_64/boot-options.txt | 4 | ||||
-rw-r--r-- | Documentation/x86/x86_64/fake-numa-for-cpusets | 2 | ||||
-rw-r--r-- | arch/x86/Kconfig.cpu | 24 | ||||
-rw-r--r-- | arch/x86/include/asm/es7000/wakecpu.h | 9 | ||||
-rw-r--r-- | arch/x86/include/asm/mach-default/mach_wakecpu.h | 9 | ||||
-rw-r--r-- | arch/x86/kernel/k8.c | 1 | ||||
-rw-r--r-- | arch/x86/kernel/machine_kexec_32.c | 5 | ||||
-rw-r--r-- | arch/x86/kernel/microcode_amd.c | 2 | ||||
-rw-r--r-- | arch/x86/kernel/microcode_core.c | 4 | ||||
-rw-r--r-- | arch/x86/kernel/pci-gart_64.c | 2 | ||||
-rw-r--r-- | arch/x86/mm/init_64.c | 9 |
15 files changed, 48 insertions, 43 deletions
@@ -80,6 +80,8 @@ Nguyen Anh Quynh <aquynh@gmail.com> | |||
80 | Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> | 80 | Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> |
81 | Patrick Mochel <mochel@digitalimplant.org> | 81 | Patrick Mochel <mochel@digitalimplant.org> |
82 | Peter A Jonsson <pj@ludd.ltu.se> | 82 | Peter A Jonsson <pj@ludd.ltu.se> |
83 | Peter Oruba <peter@oruba.de> | ||
84 | Peter Oruba <peter.oruba@amd.com> | ||
83 | Praveen BP <praveenbp@ti.com> | 85 | Praveen BP <praveenbp@ti.com> |
84 | Rajesh Shah <rajesh.shah@intel.com> | 86 | Rajesh Shah <rajesh.shah@intel.com> |
85 | Ralf Baechle <ralf@linux-mips.org> | 87 | Ralf Baechle <ralf@linux-mips.org> |
diff --git a/Documentation/00-INDEX b/Documentation/00-INDEX index 7286ad090db7..edef85ce1195 100644 --- a/Documentation/00-INDEX +++ b/Documentation/00-INDEX | |||
@@ -172,7 +172,7 @@ i2c/ | |||
172 | - directory with info about the I2C bus/protocol (2 wire, kHz speed). | 172 | - directory with info about the I2C bus/protocol (2 wire, kHz speed). |
173 | i2o/ | 173 | i2o/ |
174 | - directory with info about the Linux I2O subsystem. | 174 | - directory with info about the Linux I2O subsystem. |
175 | i386/ | 175 | x86/i386/ |
176 | - directory with info about Linux on Intel 32 bit architecture. | 176 | - directory with info about Linux on Intel 32 bit architecture. |
177 | ia64/ | 177 | ia64/ |
178 | - directory with info about Linux on Intel 64 bit architecture. | 178 | - directory with info about Linux on Intel 64 bit architecture. |
@@ -382,7 +382,7 @@ w1/ | |||
382 | - directory with documents regarding the 1-wire (w1) subsystem. | 382 | - directory with documents regarding the 1-wire (w1) subsystem. |
383 | watchdog/ | 383 | watchdog/ |
384 | - how to auto-reboot Linux if it has "fallen and can't get up". ;-) | 384 | - how to auto-reboot Linux if it has "fallen and can't get up". ;-) |
385 | x86_64/ | 385 | x86/x86_64/ |
386 | - directory with info on Linux support for AMD x86-64 (Hammer) machines. | 386 | - directory with info on Linux support for AMD x86-64 (Hammer) machines. |
387 | zorro.txt | 387 | zorro.txt |
388 | - info on writing drivers for Zorro bus devices found on Amigas. | 388 | - info on writing drivers for Zorro bus devices found on Amigas. |
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index 343e0f0f84b6..1bbcaa8982b6 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
@@ -100,7 +100,7 @@ parameter is applicable: | |||
100 | X86-32 X86-32, aka i386 architecture is enabled. | 100 | X86-32 X86-32, aka i386 architecture is enabled. |
101 | X86-64 X86-64 architecture is enabled. | 101 | X86-64 X86-64 architecture is enabled. |
102 | More X86-64 boot options can be found in | 102 | More X86-64 boot options can be found in |
103 | Documentation/x86_64/boot-options.txt . | 103 | Documentation/x86/x86_64/boot-options.txt . |
104 | X86 Either 32bit or 64bit x86 (same as X86-32+X86-64) | 104 | X86 Either 32bit or 64bit x86 (same as X86-32+X86-64) |
105 | 105 | ||
106 | In addition, the following text indicates that the option: | 106 | In addition, the following text indicates that the option: |
@@ -112,10 +112,10 @@ In addition, the following text indicates that the option: | |||
112 | Parameters denoted with BOOT are actually interpreted by the boot | 112 | Parameters denoted with BOOT are actually interpreted by the boot |
113 | loader, and have no meaning to the kernel directly. | 113 | loader, and have no meaning to the kernel directly. |
114 | Do not modify the syntax of boot loader parameters without extreme | 114 | Do not modify the syntax of boot loader parameters without extreme |
115 | need or coordination with <Documentation/i386/boot.txt>. | 115 | need or coordination with <Documentation/x86/i386/boot.txt>. |
116 | 116 | ||
117 | There are also arch-specific kernel-parameters not documented here. | 117 | There are also arch-specific kernel-parameters not documented here. |
118 | See for example <Documentation/x86_64/boot-options.txt>. | 118 | See for example <Documentation/x86/x86_64/boot-options.txt>. |
119 | 119 | ||
120 | Note that ALL kernel parameters listed below are CASE SENSITIVE, and that | 120 | Note that ALL kernel parameters listed below are CASE SENSITIVE, and that |
121 | a trailing = on the name of any parameter states that that parameter will | 121 | a trailing = on the name of any parameter states that that parameter will |
@@ -1222,7 +1222,7 @@ and is between 256 and 4096 characters. It is defined in the file | |||
1222 | 1222 | ||
1223 | mce [X86-32] Machine Check Exception | 1223 | mce [X86-32] Machine Check Exception |
1224 | 1224 | ||
1225 | mce=option [X86-64] See Documentation/x86_64/boot-options.txt | 1225 | mce=option [X86-64] See Documentation/x86/x86_64/boot-options.txt |
1226 | 1226 | ||
1227 | md= [HW] RAID subsystems devices and level | 1227 | md= [HW] RAID subsystems devices and level |
1228 | See Documentation/md.txt. | 1228 | See Documentation/md.txt. |
@@ -1728,7 +1728,7 @@ and is between 256 and 4096 characters. It is defined in the file | |||
1728 | See Documentation/paride.txt. | 1728 | See Documentation/paride.txt. |
1729 | 1729 | ||
1730 | pirq= [SMP,APIC] Manual mp-table setup | 1730 | pirq= [SMP,APIC] Manual mp-table setup |
1731 | See Documentation/i386/IO-APIC.txt. | 1731 | See Documentation/x86/i386/IO-APIC.txt. |
1732 | 1732 | ||
1733 | plip= [PPT,NET] Parallel port network link | 1733 | plip= [PPT,NET] Parallel port network link |
1734 | Format: { parport<nr> | timid | 0 } | 1734 | Format: { parport<nr> | timid | 0 } |
@@ -2343,7 +2343,7 @@ and is between 256 and 4096 characters. It is defined in the file | |||
2343 | See Documentation/fb/modedb.txt. | 2343 | See Documentation/fb/modedb.txt. |
2344 | 2344 | ||
2345 | vga= [BOOT,X86-32] Select a particular video mode | 2345 | vga= [BOOT,X86-32] Select a particular video mode |
2346 | See Documentation/i386/boot.txt and | 2346 | See Documentation/x86/i386/boot.txt and |
2347 | Documentation/svga.txt. | 2347 | Documentation/svga.txt. |
2348 | Use vga=ask for menu. | 2348 | Use vga=ask for menu. |
2349 | This is actually a boot loader parameter; the value is | 2349 | This is actually a boot loader parameter; the value is |
diff --git a/Documentation/lguest/lguest.c b/Documentation/lguest/lguest.c index 7228369d1014..da86fd53856a 100644 --- a/Documentation/lguest/lguest.c +++ b/Documentation/lguest/lguest.c | |||
@@ -402,7 +402,7 @@ static unsigned long load_bzimage(int fd) | |||
402 | void *p = from_guest_phys(0x100000); | 402 | void *p = from_guest_phys(0x100000); |
403 | 403 | ||
404 | /* Go back to the start of the file and read the header. It should be | 404 | /* Go back to the start of the file and read the header. It should be |
405 | * a Linux boot header (see Documentation/i386/boot.txt) */ | 405 | * a Linux boot header (see Documentation/x86/i386/boot.txt) */ |
406 | lseek(fd, 0, SEEK_SET); | 406 | lseek(fd, 0, SEEK_SET); |
407 | read(fd, &boot, sizeof(boot)); | 407 | read(fd, &boot, sizeof(boot)); |
408 | 408 | ||
diff --git a/Documentation/x86/x86_64/boot-options.txt b/Documentation/x86/x86_64/boot-options.txt index 72ffb5373ec7..f6d561a1a9b2 100644 --- a/Documentation/x86/x86_64/boot-options.txt +++ b/Documentation/x86/x86_64/boot-options.txt | |||
@@ -35,7 +35,7 @@ APICs | |||
35 | 35 | ||
36 | nolapic Don't use the local APIC (alias for i386 compatibility) | 36 | nolapic Don't use the local APIC (alias for i386 compatibility) |
37 | 37 | ||
38 | pirq=... See Documentation/i386/IO-APIC.txt | 38 | pirq=... See Documentation/x86/i386/IO-APIC.txt |
39 | 39 | ||
40 | noapictimer Don't set up the APIC timer | 40 | noapictimer Don't set up the APIC timer |
41 | 41 | ||
@@ -139,7 +139,7 @@ Non Executable Mappings | |||
139 | SMP | 139 | SMP |
140 | 140 | ||
141 | additional_cpus=NUM Allow NUM more CPUs for hotplug | 141 | additional_cpus=NUM Allow NUM more CPUs for hotplug |
142 | (defaults are specified by the BIOS, see Documentation/x86_64/cpu-hotplug-spec) | 142 | (defaults are specified by the BIOS, see Documentation/x86/x86_64/cpu-hotplug-spec) |
143 | 143 | ||
144 | NUMA | 144 | NUMA |
145 | 145 | ||
diff --git a/Documentation/x86/x86_64/fake-numa-for-cpusets b/Documentation/x86/x86_64/fake-numa-for-cpusets index d1a985c5b00a..33bb56655991 100644 --- a/Documentation/x86/x86_64/fake-numa-for-cpusets +++ b/Documentation/x86/x86_64/fake-numa-for-cpusets | |||
@@ -10,7 +10,7 @@ amount of system memory that are available to a certain class of tasks. | |||
10 | For more information on the features of cpusets, see Documentation/cpusets.txt. | 10 | For more information on the features of cpusets, see Documentation/cpusets.txt. |
11 | There are a number of different configurations you can use for your needs. For | 11 | There are a number of different configurations you can use for your needs. For |
12 | more information on the numa=fake command line option and its various ways of | 12 | more information on the numa=fake command line option and its various ways of |
13 | configuring fake nodes, see Documentation/x86_64/boot-options.txt. | 13 | configuring fake nodes, see Documentation/x86/x86_64/boot-options.txt. |
14 | 14 | ||
15 | For the purposes of this introduction, we'll assume a very primitive NUMA | 15 | For the purposes of this introduction, we'll assume a very primitive NUMA |
16 | emulation setup of "numa=fake=4*512,". This will split our system memory into | 16 | emulation setup of "numa=fake=4*512,". This will split our system memory into |
diff --git a/arch/x86/Kconfig.cpu b/arch/x86/Kconfig.cpu index 0b7c4a3f0651..b815664fe370 100644 --- a/arch/x86/Kconfig.cpu +++ b/arch/x86/Kconfig.cpu | |||
@@ -513,19 +513,19 @@ config CPU_SUP_UMC_32 | |||
513 | If unsure, say N. | 513 | If unsure, say N. |
514 | 514 | ||
515 | config X86_DS | 515 | config X86_DS |
516 | bool "Debug Store support" | 516 | def_bool X86_PTRACE_BTS |
517 | default y | 517 | depends on X86_DEBUGCTLMSR |
518 | help | ||
519 | Add support for Debug Store. | ||
520 | This allows the kernel to provide a memory buffer to the hardware | ||
521 | to store various profiling and tracing events. | ||
522 | 518 | ||
523 | config X86_PTRACE_BTS | 519 | config X86_PTRACE_BTS |
524 | bool "ptrace interface to Branch Trace Store" | 520 | bool "Branch Trace Store" |
525 | default y | 521 | default y |
526 | depends on (X86_DS && X86_DEBUGCTLMSR) | 522 | depends on X86_DEBUGCTLMSR |
527 | help | 523 | help |
528 | Add a ptrace interface to allow collecting an execution trace | 524 | This adds a ptrace interface to the hardware's branch trace store. |
529 | of the traced task. | 525 | |
530 | This collects control flow changes in a (cyclic) buffer and allows | 526 | Debuggers may use it to collect an execution trace of the debugged |
531 | debuggers to fill in the gaps and show an execution trace of the debuggee. | 527 | application in order to answer the question 'how did I get here?'. |
528 | Debuggers may trace user mode as well as kernel mode. | ||
529 | |||
530 | Say Y unless there is no application development on this machine | ||
531 | and you want to save a small amount of code size. | ||
diff --git a/arch/x86/include/asm/es7000/wakecpu.h b/arch/x86/include/asm/es7000/wakecpu.h index 3ffc5a7bf667..398493461913 100644 --- a/arch/x86/include/asm/es7000/wakecpu.h +++ b/arch/x86/include/asm/es7000/wakecpu.h | |||
@@ -50,10 +50,9 @@ static inline void restore_NMI_vector(unsigned short *high, unsigned short *low) | |||
50 | { | 50 | { |
51 | } | 51 | } |
52 | 52 | ||
53 | #if APIC_DEBUG | 53 | #define inquire_remote_apic(apicid) do { \ |
54 | #define inquire_remote_apic(apicid) __inquire_remote_apic(apicid) | 54 | if (apic_verbosity >= APIC_DEBUG) \ |
55 | #else | 55 | __inquire_remote_apic(apicid); \ |
56 | #define inquire_remote_apic(apicid) {} | 56 | } while (0) |
57 | #endif | ||
58 | 57 | ||
59 | #endif /* __ASM_MACH_WAKECPU_H */ | 58 | #endif /* __ASM_MACH_WAKECPU_H */ |
diff --git a/arch/x86/include/asm/mach-default/mach_wakecpu.h b/arch/x86/include/asm/mach-default/mach_wakecpu.h index d5c0b826a4ff..9d80db91e992 100644 --- a/arch/x86/include/asm/mach-default/mach_wakecpu.h +++ b/arch/x86/include/asm/mach-default/mach_wakecpu.h | |||
@@ -33,10 +33,9 @@ static inline void restore_NMI_vector(unsigned short *high, unsigned short *low) | |||
33 | { | 33 | { |
34 | } | 34 | } |
35 | 35 | ||
36 | #if APIC_DEBUG | 36 | #define inquire_remote_apic(apicid) do { \ |
37 | #define inquire_remote_apic(apicid) __inquire_remote_apic(apicid) | 37 | if (apic_verbosity >= APIC_DEBUG) \ |
38 | #else | 38 | __inquire_remote_apic(apicid); \ |
39 | #define inquire_remote_apic(apicid) {} | 39 | } while (0) |
40 | #endif | ||
41 | 40 | ||
42 | #endif /* _ASM_X86_MACH_DEFAULT_MACH_WAKECPU_H */ | 41 | #endif /* _ASM_X86_MACH_DEFAULT_MACH_WAKECPU_H */ |
diff --git a/arch/x86/kernel/k8.c b/arch/x86/kernel/k8.c index 304d8bad6559..cbc4332a77b2 100644 --- a/arch/x86/kernel/k8.c +++ b/arch/x86/kernel/k8.c | |||
@@ -18,7 +18,6 @@ static u32 *flush_words; | |||
18 | struct pci_device_id k8_nb_ids[] = { | 18 | struct pci_device_id k8_nb_ids[] = { |
19 | { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_K8_NB_MISC) }, | 19 | { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_K8_NB_MISC) }, |
20 | { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_10H_NB_MISC) }, | 20 | { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_10H_NB_MISC) }, |
21 | { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_11H_NB_MISC) }, | ||
22 | {} | 21 | {} |
23 | }; | 22 | }; |
24 | EXPORT_SYMBOL(k8_nb_ids); | 23 | EXPORT_SYMBOL(k8_nb_ids); |
diff --git a/arch/x86/kernel/machine_kexec_32.c b/arch/x86/kernel/machine_kexec_32.c index 0732adba05ca..7a385746509a 100644 --- a/arch/x86/kernel/machine_kexec_32.c +++ b/arch/x86/kernel/machine_kexec_32.c | |||
@@ -162,7 +162,10 @@ void machine_kexec(struct kimage *image) | |||
162 | page_list[VA_PTE_0] = (unsigned long)kexec_pte0; | 162 | page_list[VA_PTE_0] = (unsigned long)kexec_pte0; |
163 | page_list[PA_PTE_1] = __pa(kexec_pte1); | 163 | page_list[PA_PTE_1] = __pa(kexec_pte1); |
164 | page_list[VA_PTE_1] = (unsigned long)kexec_pte1; | 164 | page_list[VA_PTE_1] = (unsigned long)kexec_pte1; |
165 | page_list[PA_SWAP_PAGE] = (page_to_pfn(image->swap_page) << PAGE_SHIFT); | 165 | |
166 | if (image->type == KEXEC_TYPE_DEFAULT) | ||
167 | page_list[PA_SWAP_PAGE] = (page_to_pfn(image->swap_page) | ||
168 | << PAGE_SHIFT); | ||
166 | 169 | ||
167 | /* The segment registers are funny things, they have both a | 170 | /* The segment registers are funny things, they have both a |
168 | * visible and an invisible part. Whenever the visible part is | 171 | * visible and an invisible part. Whenever the visible part is |
diff --git a/arch/x86/kernel/microcode_amd.c b/arch/x86/kernel/microcode_amd.c index 7a1f8eeac2c7..5f8e5d75a254 100644 --- a/arch/x86/kernel/microcode_amd.c +++ b/arch/x86/kernel/microcode_amd.c | |||
@@ -39,7 +39,7 @@ | |||
39 | #include <asm/microcode.h> | 39 | #include <asm/microcode.h> |
40 | 40 | ||
41 | MODULE_DESCRIPTION("AMD Microcode Update Driver"); | 41 | MODULE_DESCRIPTION("AMD Microcode Update Driver"); |
42 | MODULE_AUTHOR("Peter Oruba <peter.oruba@amd.com>"); | 42 | MODULE_AUTHOR("Peter Oruba"); |
43 | MODULE_LICENSE("GPL v2"); | 43 | MODULE_LICENSE("GPL v2"); |
44 | 44 | ||
45 | #define UCODE_MAGIC 0x00414d44 | 45 | #define UCODE_MAGIC 0x00414d44 |
diff --git a/arch/x86/kernel/microcode_core.c b/arch/x86/kernel/microcode_core.c index 936d8d55f230..82fb2809ce32 100644 --- a/arch/x86/kernel/microcode_core.c +++ b/arch/x86/kernel/microcode_core.c | |||
@@ -480,8 +480,8 @@ static int __init microcode_init(void) | |||
480 | 480 | ||
481 | printk(KERN_INFO | 481 | printk(KERN_INFO |
482 | "Microcode Update Driver: v" MICROCODE_VERSION | 482 | "Microcode Update Driver: v" MICROCODE_VERSION |
483 | " <tigran@aivazian.fsnet.co.uk>" | 483 | " <tigran@aivazian.fsnet.co.uk>," |
484 | " <peter.oruba@amd.com>\n"); | 484 | " Peter Oruba\n"); |
485 | 485 | ||
486 | return 0; | 486 | return 0; |
487 | } | 487 | } |
diff --git a/arch/x86/kernel/pci-gart_64.c b/arch/x86/kernel/pci-gart_64.c index e3f75bbcedea..a42b02b4df68 100644 --- a/arch/x86/kernel/pci-gart_64.c +++ b/arch/x86/kernel/pci-gart_64.c | |||
@@ -744,7 +744,7 @@ void __init gart_iommu_init(void) | |||
744 | long i; | 744 | long i; |
745 | 745 | ||
746 | if (cache_k8_northbridges() < 0 || num_k8_northbridges == 0) { | 746 | if (cache_k8_northbridges() < 0 || num_k8_northbridges == 0) { |
747 | printk(KERN_INFO "PCI-GART: No AMD northbridge found.\n"); | 747 | printk(KERN_INFO "PCI-GART: No AMD GART found.\n"); |
748 | return; | 748 | return; |
749 | } | 749 | } |
750 | 750 | ||
diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c index f79a02f64d10..ad38648bddbd 100644 --- a/arch/x86/mm/init_64.c +++ b/arch/x86/mm/init_64.c | |||
@@ -884,6 +884,7 @@ static struct kcore_list kcore_mem, kcore_vmalloc, kcore_kernel, | |||
884 | void __init mem_init(void) | 884 | void __init mem_init(void) |
885 | { | 885 | { |
886 | long codesize, reservedpages, datasize, initsize; | 886 | long codesize, reservedpages, datasize, initsize; |
887 | unsigned long absent_pages; | ||
887 | 888 | ||
888 | start_periodic_check_for_corruption(); | 889 | start_periodic_check_for_corruption(); |
889 | 890 | ||
@@ -899,8 +900,9 @@ void __init mem_init(void) | |||
899 | #else | 900 | #else |
900 | totalram_pages = free_all_bootmem(); | 901 | totalram_pages = free_all_bootmem(); |
901 | #endif | 902 | #endif |
902 | reservedpages = max_pfn - totalram_pages - | 903 | |
903 | absent_pages_in_range(0, max_pfn); | 904 | absent_pages = absent_pages_in_range(0, max_pfn); |
905 | reservedpages = max_pfn - totalram_pages - absent_pages; | ||
904 | after_bootmem = 1; | 906 | after_bootmem = 1; |
905 | 907 | ||
906 | codesize = (unsigned long) &_etext - (unsigned long) &_text; | 908 | codesize = (unsigned long) &_etext - (unsigned long) &_text; |
@@ -917,10 +919,11 @@ void __init mem_init(void) | |||
917 | VSYSCALL_END - VSYSCALL_START); | 919 | VSYSCALL_END - VSYSCALL_START); |
918 | 920 | ||
919 | printk(KERN_INFO "Memory: %luk/%luk available (%ldk kernel code, " | 921 | printk(KERN_INFO "Memory: %luk/%luk available (%ldk kernel code, " |
920 | "%ldk reserved, %ldk data, %ldk init)\n", | 922 | "%ldk absent, %ldk reserved, %ldk data, %ldk init)\n", |
921 | (unsigned long) nr_free_pages() << (PAGE_SHIFT-10), | 923 | (unsigned long) nr_free_pages() << (PAGE_SHIFT-10), |
922 | max_pfn << (PAGE_SHIFT-10), | 924 | max_pfn << (PAGE_SHIFT-10), |
923 | codesize >> 10, | 925 | codesize >> 10, |
926 | absent_pages << (PAGE_SHIFT-10), | ||
924 | reservedpages << (PAGE_SHIFT-10), | 927 | reservedpages << (PAGE_SHIFT-10), |
925 | datasize >> 10, | 928 | datasize >> 10, |
926 | initsize >> 10); | 929 | initsize >> 10); |