Skip to content

Commit e496e3d

Browse files
author
Ingo Molnar
committed
Merge branches 'x86/alternatives', 'x86/cleanups', 'x86/commandline', 'x86/crashdump', 'x86/debug', 'x86/defconfig', 'x86/doc', 'x86/exports', 'x86/fpu', 'x86/gart', 'x86/idle', 'x86/mm', 'x86/mtrr', 'x86/nmi-watchdog', 'x86/oprofile', 'x86/paravirt', 'x86/reboot', 'x86/sparse-fixes', 'x86/tsc', 'x86/urgent' and 'x86/vmalloc' into x86-v28-for-linus-phase1
21 parents b159d7a + 5bbd4c3 + 175e438 + 516cbf3 + af2d237 + 9b15684 + 5b7e41f + 1befdef + a03352d + 7b22ff5 + 2c7e9fd + 91030ca + dd55235 + b3e15bd + 20211e4 + efd327a + c7ffa6c + e51a1ac + 5df4551 + d99e901 + e621bd1 commit e496e3d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

90 files changed

+1304
-773
lines changed

Documentation/00-INDEX

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -251,8 +251,6 @@ mono.txt
251251
- how to execute Mono-based .NET binaries with the help of BINFMT_MISC.
252252
moxa-smartio
253253
- file with info on installing/using Moxa multiport serial driver.
254-
mtrr.txt
255-
- how to use PPro Memory Type Range Registers to increase performance.
256254
mutex-design.txt
257255
- info on the generic mutex subsystem.
258256
namespaces/

Documentation/kernel-parameters.txt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -463,12 +463,6 @@ and is between 256 and 4096 characters. It is defined in the file
463463
Range: 0 - 8192
464464
Default: 64
465465

466-
disable_8254_timer
467-
enable_8254_timer
468-
[IA32/X86_64] Disable/Enable interrupt 0 timer routing
469-
over the 8254 in addition to over the IO-APIC. The
470-
kernel tries to set a sensible default.
471-
472466
hpet= [X86-32,HPET] option to control HPET usage
473467
Format: { enable (default) | disable | force }
474468
disable: disable HPET and use PIT instead
@@ -1882,6 +1876,12 @@ and is between 256 and 4096 characters. It is defined in the file
18821876
shapers= [NET]
18831877
Maximal number of shapers.
18841878

1879+
show_msr= [x86] show boot-time MSR settings
1880+
Format: { <integer> }
1881+
Show boot-time (BIOS-initialized) MSR settings.
1882+
The parameter means the number of CPUs to show,
1883+
for example 1 means boot CPU only.
1884+
18851885
sim710= [SCSI,HW]
18861886
See header of drivers/scsi/sim710.c.
18871887

Documentation/x86/00-INDEX

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
00-INDEX
2+
- this file
3+
mtrr.txt
4+
- how to use x86 Memory Type Range Registers to increase performance

Documentation/x86/i386/boot.txt renamed to Documentation/x86/boot.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -308,7 +308,7 @@ Protocol: 2.00+
308308

309309
Field name: start_sys
310310
Type: read
311-
Offset/size: 0x20c/4
311+
Offset/size: 0x20c/2
312312
Protocol: 2.00+
313313

314314
The load low segment (0x1000). Obsolete.

Documentation/mtrr.txt renamed to Documentation/x86/mtrr.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ Richard Gooch
1818
The AMD K6-2 (stepping 8 and above) and K6-3 processors have two
1919
MTRRs. These are supported. The AMD Athlon family provide 8 Intel
2020
style MTRRs.
21-
21+
2222
The Centaur C6 (WinChip) has 8 MCRs, allowing write-combining. These
2323
are supported.
2424

@@ -87,7 +87,7 @@ reg00: base=0x00000000 ( 0MB), size= 64MB: write-back, count=1
8787
reg01: base=0xfb000000 (4016MB), size= 16MB: write-combining, count=1
8888
reg02: base=0xfb000000 (4016MB), size= 4kB: uncachable, count=1
8989

90-
Some cards (especially Voodoo Graphics boards) need this 4 kB area
90+
Some cards (especially Voodoo Graphics boards) need this 4 kB area
9191
excluded from the beginning of the region because it is used for
9292
registers.
9393

Documentation/x86/pat.txt

Lines changed: 45 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ PAT allows for different types of memory attributes. The most commonly used
1414
ones that will be supported at this time are Write-back, Uncached,
1515
Write-combined and Uncached Minus.
1616

17+
18+
PAT APIs
19+
--------
20+
1721
There are many different APIs in the kernel that allows setting of memory
1822
attributes at the page level. In order to avoid aliasing, these interfaces
1923
should be used thoughtfully. Below is a table of interfaces available,
@@ -26,38 +30,38 @@ address range to avoid any aliasing.
2630
API | RAM | ACPI,... | Reserved/Holes |
2731
-----------------------|----------|------------|------------------|
2832
| | | |
29-
ioremap | -- | UC | UC |
33+
ioremap | -- | UC- | UC- |
3034
| | | |
3135
ioremap_cache | -- | WB | WB |
3236
| | | |
33-
ioremap_nocache | -- | UC | UC |
37+
ioremap_nocache | -- | UC- | UC- |
3438
| | | |
3539
ioremap_wc | -- | -- | WC |
3640
| | | |
37-
set_memory_uc | UC | -- | -- |
41+
set_memory_uc | UC- | -- | -- |
3842
set_memory_wb | | | |
3943
| | | |
4044
set_memory_wc | WC | -- | -- |
4145
set_memory_wb | | | |
4246
| | | |
43-
pci sysfs resource | -- | -- | UC |
47+
pci sysfs resource | -- | -- | UC- |
4448
| | | |
4549
pci sysfs resource_wc | -- | -- | WC |
4650
is IORESOURCE_PREFETCH| | | |
4751
| | | |
48-
pci proc | -- | -- | UC |
52+
pci proc | -- | -- | UC- |
4953
!PCIIOC_WRITE_COMBINE | | | |
5054
| | | |
5155
pci proc | -- | -- | WC |
5256
PCIIOC_WRITE_COMBINE | | | |
5357
| | | |
54-
/dev/mem | -- | UC | UC |
58+
/dev/mem | -- | WB/WC/UC- | WB/WC/UC- |
5559
read-write | | | |
5660
| | | |
57-
/dev/mem | -- | UC | UC |
61+
/dev/mem | -- | UC- | UC- |
5862
mmap SYNC flag | | | |
5963
| | | |
60-
/dev/mem | -- | WB/WC/UC | WB/WC/UC |
64+
/dev/mem | -- | WB/WC/UC- | WB/WC/UC- |
6165
mmap !SYNC flag | |(from exist-| (from exist- |
6266
and | | ing alias)| ing alias) |
6367
any alias to this area| | | |
@@ -68,7 +72,7 @@ pci proc | -- | -- | WC |
6872
and | | | |
6973
MTRR says WB | | | |
7074
| | | |
71-
/dev/mem | -- | -- | UC_MINUS |
75+
/dev/mem | -- | -- | UC- |
7276
mmap !SYNC flag | | | |
7377
no alias to this area | | | |
7478
and | | | |
@@ -98,3 +102,35 @@ types.
98102

99103
Drivers should use set_memory_[uc|wc] to set access type for RAM ranges.
100104

105+
106+
PAT debugging
107+
-------------
108+
109+
With CONFIG_DEBUG_FS enabled, PAT memtype list can be examined by
110+
111+
# mount -t debugfs debugfs /sys/kernel/debug
112+
# cat /sys/kernel/debug/x86/pat_memtype_list
113+
PAT memtype list:
114+
uncached-minus @ 0x7fadf000-0x7fae0000
115+
uncached-minus @ 0x7fb19000-0x7fb1a000
116+
uncached-minus @ 0x7fb1a000-0x7fb1b000
117+
uncached-minus @ 0x7fb1b000-0x7fb1c000
118+
uncached-minus @ 0x7fb1c000-0x7fb1d000
119+
uncached-minus @ 0x7fb1d000-0x7fb1e000
120+
uncached-minus @ 0x7fb1e000-0x7fb25000
121+
uncached-minus @ 0x7fb25000-0x7fb26000
122+
uncached-minus @ 0x7fb26000-0x7fb27000
123+
uncached-minus @ 0x7fb27000-0x7fb28000
124+
uncached-minus @ 0x7fb28000-0x7fb2e000
125+
uncached-minus @ 0x7fb2e000-0x7fb2f000
126+
uncached-minus @ 0x7fb2f000-0x7fb30000
127+
uncached-minus @ 0x7fb31000-0x7fb32000
128+
uncached-minus @ 0x80000000-0x90000000
129+
130+
This list shows physical address ranges and various PAT settings used to
131+
access those physical address ranges.
132+
133+
Another, more verbose way of getting PAT related debug messages is with
134+
"debugpat" boot parameter. With this parameter, various debug messages are
135+
printed to dmesg log.
136+

Documentation/x86/x86_64/boot-options.txt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,6 @@ APICs
5454
apicmaintimer. Useful when your PIT timer is totally
5555
broken.
5656

57-
disable_8254_timer / enable_8254_timer
58-
Enable interrupt 0 timer routing over the 8254 in addition to over
59-
the IO-APIC. The kernel tries to set a sensible default.
60-
6157
Early Console
6258

6359
syntax: earlyprintk=vga

arch/x86/Kconfig

Lines changed: 59 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1021,7 +1021,7 @@ config HAVE_ARCH_ALLOC_REMAP
10211021

10221022
config ARCH_FLATMEM_ENABLE
10231023
def_bool y
1024-
depends on X86_32 && ARCH_SELECT_MEMORY_MODEL && X86_PC && !NUMA
1024+
depends on X86_32 && ARCH_SELECT_MEMORY_MODEL && !NUMA
10251025

10261026
config ARCH_DISCONTIGMEM_ENABLE
10271027
def_bool y
@@ -1037,7 +1037,7 @@ config ARCH_SPARSEMEM_DEFAULT
10371037

10381038
config ARCH_SPARSEMEM_ENABLE
10391039
def_bool y
1040-
depends on X86_64 || NUMA || (EXPERIMENTAL && X86_PC)
1040+
depends on X86_64 || NUMA || (EXPERIMENTAL && X86_PC) || X86_GENERICARCH
10411041
select SPARSEMEM_STATIC if X86_32
10421042
select SPARSEMEM_VMEMMAP_ENABLE if X86_64
10431043

@@ -1118,10 +1118,10 @@ config MTRR
11181118
You can safely say Y even if your machine doesn't have MTRRs, you'll
11191119
just add about 9 KB to your kernel.
11201120

1121-
See <file:Documentation/mtrr.txt> for more information.
1121+
See <file:Documentation/x86/mtrr.txt> for more information.
11221122

11231123
config MTRR_SANITIZER
1124-
bool
1124+
def_bool y
11251125
prompt "MTRR cleanup support"
11261126
depends on MTRR
11271127
help
@@ -1132,7 +1132,7 @@ config MTRR_SANITIZER
11321132
The largest mtrr entry size for a continous block can be set with
11331133
mtrr_chunk_size.
11341134

1135-
If unsure, say N.
1135+
If unsure, say Y.
11361136

11371137
config MTRR_SANITIZER_ENABLE_DEFAULT
11381138
int "MTRR cleanup enable value (0-1)"
@@ -1192,15 +1192,14 @@ config IRQBALANCE
11921192
config SECCOMP
11931193
def_bool y
11941194
prompt "Enable seccomp to safely compute untrusted bytecode"
1195-
depends on PROC_FS
11961195
help
11971196
This kernel feature is useful for number crunching applications
11981197
that may need to compute untrusted bytecode during their
11991198
execution. By using pipes or other transports made available to
12001199
the process as file descriptors supporting the read/write
12011200
syscalls, it's possible to isolate those applications in
12021201
their own address space using seccomp. Once seccomp is
1203-
enabled via /proc/<pid>/seccomp, it cannot be disabled
1202+
enabled via prctl(PR_SET_SECCOMP), it cannot be disabled
12041203
and the task is only allowed to execute a few safe syscalls
12051204
defined by each seccomp mode.
12061205

@@ -1357,14 +1356,14 @@ config PHYSICAL_ALIGN
13571356
Don't change this unless you know what you are doing.
13581357

13591358
config HOTPLUG_CPU
1360-
bool "Support for suspend on SMP and hot-pluggable CPUs (EXPERIMENTAL)"
1361-
depends on SMP && HOTPLUG && EXPERIMENTAL && !X86_VOYAGER
1359+
bool "Support for hot-pluggable CPUs"
1360+
depends on SMP && HOTPLUG && !X86_VOYAGER
13621361
---help---
1363-
Say Y here to experiment with turning CPUs off and on, and to
1364-
enable suspend on SMP systems. CPUs can be controlled through
1365-
/sys/devices/system/cpu.
1366-
Say N if you want to disable CPU hotplug and don't need to
1367-
suspend.
1362+
Say Y here to allow turning CPUs off and on. CPUs can be
1363+
controlled through /sys/devices/system/cpu.
1364+
( Note: power management support will enable this option
1365+
automatically on SMP systems. )
1366+
Say N if you want to disable CPU hotplug.
13681367

13691368
config COMPAT_VDSO
13701369
def_bool y
@@ -1379,6 +1378,51 @@ config COMPAT_VDSO
13791378

13801379
If unsure, say Y.
13811380

1381+
config CMDLINE_BOOL
1382+
bool "Built-in kernel command line"
1383+
default n
1384+
help
1385+
Allow for specifying boot arguments to the kernel at
1386+
build time. On some systems (e.g. embedded ones), it is
1387+
necessary or convenient to provide some or all of the
1388+
kernel boot arguments with the kernel itself (that is,
1389+
to not rely on the boot loader to provide them.)
1390+
1391+
To compile command line arguments into the kernel,
1392+
set this option to 'Y', then fill in the
1393+
the boot arguments in CONFIG_CMDLINE.
1394+
1395+
Systems with fully functional boot loaders (i.e. non-embedded)
1396+
should leave this option set to 'N'.
1397+
1398+
config CMDLINE
1399+
string "Built-in kernel command string"
1400+
depends on CMDLINE_BOOL
1401+
default ""
1402+
help
1403+
Enter arguments here that should be compiled into the kernel
1404+
image and used at boot time. If the boot loader provides a
1405+
command line at boot time, it is appended to this string to
1406+
form the full kernel command line, when the system boots.
1407+
1408+
However, you can use the CONFIG_CMDLINE_OVERRIDE option to
1409+
change this behavior.
1410+
1411+
In most cases, the command line (whether built-in or provided
1412+
by the boot loader) should specify the device for the root
1413+
file system.
1414+
1415+
config CMDLINE_OVERRIDE
1416+
bool "Built-in command line overrides boot loader arguments"
1417+
default n
1418+
depends on CMDLINE_BOOL
1419+
help
1420+
Set this option to 'Y' to have the kernel ignore the boot loader
1421+
command line, and use ONLY the built-in command line.
1422+
1423+
This is used to work around broken boot loaders. This should
1424+
be set to 'N' under normal conditions.
1425+
13821426
endmenu
13831427

13841428
config ARCH_ENABLE_MEMORY_HOTPLUG
@@ -1774,7 +1818,7 @@ config COMPAT_FOR_U64_ALIGNMENT
17741818

17751819
config SYSVIPC_COMPAT
17761820
def_bool y
1777-
depends on X86_64 && COMPAT && SYSVIPC
1821+
depends on COMPAT && SYSVIPC
17781822

17791823
endmenu
17801824

arch/x86/boot/compressed/head_32.S

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,14 +137,15 @@ relocated:
137137
*/
138138
movl output_len(%ebx), %eax
139139
pushl %eax
140+
# push arguments for decompress_kernel:
140141
pushl %ebp # output address
141142
movl input_len(%ebx), %eax
142143
pushl %eax # input_len
143144
leal input_data(%ebx), %eax
144145
pushl %eax # input_data
145146
leal boot_heap(%ebx), %eax
146-
pushl %eax # heap area as third argument
147-
pushl %esi # real mode pointer as second arg
147+
pushl %eax # heap area
148+
pushl %esi # real mode pointer
148149
call decompress_kernel
149150
addl $20, %esp
150151
popl %ecx

arch/x86/boot/compressed/misc.c

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
#include <linux/linkage.h>
2828
#include <linux/screen_info.h>
2929
#include <linux/elf.h>
30-
#include <asm/io.h>
30+
#include <linux/io.h>
3131
#include <asm/page.h>
3232
#include <asm/boot.h>
3333
#include <asm/bootparam.h>
@@ -251,7 +251,7 @@ static void __putstr(int error, const char *s)
251251
y--;
252252
}
253253
} else {
254-
vidmem [(x + cols * y) * 2] = c;
254+
vidmem[(x + cols * y) * 2] = c;
255255
if (++x >= cols) {
256256
x = 0;
257257
if (++y >= lines) {
@@ -277,7 +277,8 @@ static void *memset(void *s, int c, unsigned n)
277277
int i;
278278
char *ss = s;
279279

280-
for (i = 0; i < n; i++) ss[i] = c;
280+
for (i = 0; i < n; i++)
281+
ss[i] = c;
281282
return s;
282283
}
283284

@@ -287,7 +288,8 @@ static void *memcpy(void *dest, const void *src, unsigned n)
287288
const char *s = src;
288289
char *d = dest;
289290

290-
for (i = 0; i < n; i++) d[i] = s[i];
291+
for (i = 0; i < n; i++)
292+
d[i] = s[i];
291293
return dest;
292294
}
293295

arch/x86/boot/header.S

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ SYSSEG = DEF_SYSSEG /* system loaded at 0x10000 (65536) */
3030
SYSSIZE = DEF_SYSSIZE /* system size: # of 16-byte clicks */
3131
/* to be loaded */
3232
ROOT_DEV = 0 /* ROOT_DEV is now written by "build" */
33-
SWAP_DEV = 0 /* SWAP_DEV is now written by "build" */
3433

3534
#ifndef SVGA_MODE
3635
#define SVGA_MODE ASK_VGA

0 commit comments

Comments
 (0)