Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
Bricked
flo
Commits
adbedd34
Commit
adbedd34
authored
19 years ago
by
Len Brown
Browse files
Options
Download
Plain Diff
merge 2.6.13-rc4 with ACPI's to-linus tree
parents
d6ac1a79
b0825488
Changes
250
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
350 additions
and
192 deletions
+350
-192
Documentation/pcmcia/driver-changes.txt
Documentation/pcmcia/driver-changes.txt
+9
-0
Documentation/sound/alsa/ALSA-Configuration.txt
Documentation/sound/alsa/ALSA-Configuration.txt
+20
-24
Documentation/stable_api_nonsense.txt
Documentation/stable_api_nonsense.txt
+1
-1
Documentation/stable_kernel_rules.txt
Documentation/stable_kernel_rules.txt
+58
-0
Documentation/x86_64/boot-options.txt
Documentation/x86_64/boot-options.txt
+6
-4
Makefile
Makefile
+1
-1
arch/arm/kernel/smp.c
arch/arm/kernel/smp.c
+1
-0
arch/arm/lib/bitops.h
arch/arm/lib/bitops.h
+1
-1
arch/arm/mach-integrator/platsmp.c
arch/arm/mach-integrator/platsmp.c
+2
-0
arch/i386/kernel/cpu/cpufreq/powernow-k8.c
arch/i386/kernel/cpu/cpufreq/powernow-k8.c
+20
-18
arch/i386/kernel/cpu/cpufreq/powernow-k8.h
arch/i386/kernel/cpu/cpufreq/powernow-k8.h
+19
-13
arch/i386/kernel/cpu/intel_cacheinfo.c
arch/i386/kernel/cpu/intel_cacheinfo.c
+14
-6
arch/i386/kernel/machine_kexec.c
arch/i386/kernel/machine_kexec.c
+11
-11
arch/i386/kernel/mpparse.c
arch/i386/kernel/mpparse.c
+9
-1
arch/i386/kernel/numaq.c
arch/i386/kernel/numaq.c
+9
-0
arch/i386/mm/discontig.c
arch/i386/mm/discontig.c
+8
-0
arch/i386/pci/irq.c
arch/i386/pci/irq.c
+7
-0
arch/s390/appldata/appldata_base.c
arch/s390/appldata/appldata_base.c
+5
-1
arch/s390/defconfig
arch/s390/defconfig
+142
-111
arch/s390/kernel/head.S
arch/s390/kernel/head.S
+7
-0
No files found.
Documentation/pcmcia/driver-changes.txt
View file @
adbedd34
...
...
@@ -56,3 +56,12 @@ This file details changes in 2.6 which affect PCMCIA card driver authors:
memory regions in-use. The name argument should be a pointer to
your driver name. Eg, for pcnet_cs, name should point to the
string "pcnet_cs".
* CardServices is gone
CardServices() in 2.4 is just a big switch statement to call various
services. In 2.6, all of those entry points are exported and called
directly (except for pcmcia_report_error(), just use cs_error() instead).
* struct pcmcia_driver
You need to use struct pcmcia_driver and pcmcia_{un,}register_driver
instead of {un,}register_pccard_driver
This diff is collapsed.
Click to expand it.
Documentation/sound/alsa/ALSA-Configuration.txt
View file @
adbedd34
...
...
@@ -636,11 +636,16 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
3stack-digout 3-jack in back, a HP out and a SPDIF out
5stack 5-jack in back, 2-jack in front
5stack-digout 5-jack in back, 2-jack in front, a SPDIF out
6stack 6-jack in back, 2-jack in front
6stack-digout 6-jack with a SPDIF out
w810 3-jack
z71v 3-jack (HP shared SPDIF)
asus 3-jack
uniwill 3-jack
F1734 2-jack
test for testing/debugging purpose, almost all controls can be
adjusted. Appearing only when compiled with
$CONFIG_SND_DEBUG=y
CMI9880
minimal 3-jack in back
...
...
@@ -1054,6 +1059,13 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
The power-management is supported.
Module snd-pxa2xx-ac97 (on arm only)
------------------------------------
Module for AC97 driver for the Intel PXA2xx chip
For ARM architecture only.
Module snd-rme32
----------------
...
...
@@ -1173,6 +1185,13 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
Module supports up to 8 cards.
Module snd-sun-dbri (on sparc only)
-----------------------------------
Module for DBRI sound chips found on Sparcs.
Module supports up to 8 cards.
Module snd-wavefront
--------------------
...
...
@@ -1371,7 +1390,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
Module snd-vxpocket
-------------------
Module for Digigram VX-Pocket VX2 PCMCIA card.
Module for Digigram VX-Pocket VX2
and 440
PCMCIA card
s
.
ibl - Capture IBL size. (default = 0, minimum size)
...
...
@@ -1391,29 +1410,6 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
Note: the driver is build only when CONFIG_ISA is set.
Module snd-vxp440
-----------------
Module for Digigram VX-Pocket 440 PCMCIA card.
ibl - Capture IBL size. (default = 0, minimum size)
Module supports up to 8 cards. The module is compiled only when
PCMCIA is supported on kernel.
To activate the driver via the card manager, you'll need to set
up /etc/pcmcia/vxp440.conf. See the sound/pcmcia/vx/vxp440.c.
When the driver is compiled as a module and the hotplug firmware
is supported, the firmware data is loaded via hotplug automatically.
Install the necessary firmware files in alsa-firmware package.
When no hotplug fw loader is available, you need to load the
firmware via vxloader utility in alsa-tools package.
About capture IBL, see the description of snd-vx222 module.
Note: the driver is build only when CONFIG_ISA is set.
Module snd-ymfpci
-----------------
...
...
This diff is collapsed.
Click to expand it.
Documentation/stable_api_nonsense.txt
View file @
adbedd34
...
...
@@ -132,7 +132,7 @@ to extra work for the USB developers. Since all Linux USB developers do
their work on their own time, asking programmers to do extra work for no
gain, for free, is not a possibility.
Security issues are also
a
very important for Linux. When a
Security issues are also very important for Linux. When a
security issue is found, it is fixed in a very short amount of time. A
number of times this has caused internal kernel interfaces to be
reworked to prevent the security problem from occurring. When this
...
...
This diff is collapsed.
Click to expand it.
Documentation/stable_kernel_rules.txt
0 → 100644
View file @
adbedd34
Everything you ever wanted to know about Linux 2.6 -stable releases.
Rules on what kind of patches are accepted, and what ones are not, into
the "-stable" tree:
- It must be obviously correct and tested.
- It can not bigger than 100 lines, with context.
- It must fix only one thing.
- It must fix a real bug that bothers people (not a, "This could be a
problem..." type thing.)
- It must fix a problem that causes a build error (but not for things
marked CONFIG_BROKEN), an oops, a hang, data corruption, a real
security issue, or some "oh, that's not good" issue. In short,
something critical.
- No "theoretical race condition" issues, unless an explanation of how
the race can be exploited.
- It can not contain any "trivial" fixes in it (spelling changes,
whitespace cleanups, etc.)
- It must be accepted by the relevant subsystem maintainer.
- It must follow Documentation/SubmittingPatches rules.
Procedure for submitting patches to the -stable tree:
- Send the patch, after verifying that it follows the above rules, to
stable@kernel.org.
- The sender will receive an ack when the patch has been accepted into
the queue, or a nak if the patch is rejected. This response might
take a few days, according to the developer's schedules.
- If accepted, the patch will be added to the -stable queue, for review
by other developers.
- Security patches should not be sent to this alias, but instead to the
documented security@kernel.org.
Review cycle:
- When the -stable maintainers decide for a review cycle, the patches
will be sent to the review committee, and the maintainer of the
affected area of the patch (unless the submitter is the maintainer of
the area) and CC: to the linux-kernel mailing list.
- The review committee has 48 hours in which to ack or nak the patch.
- If the patch is rejected by a member of the committee, or linux-kernel
members object to the patch, bringing up issues that the maintainers
and members did not realize, the patch will be dropped from the
queue.
- At the end of the review cycle, the acked patches will be added to
the latest -stable release, and a new -stable release will happen.
- Security patches will be accepted into the -stable tree directly from
the security kernel team, and not go through the normal review cycle.
Contact the kernel security team for more details on this procedure.
Review committe:
- This will be made up of a number of kernel developers who have
volunteered for this task, and a few that haven't.
This diff is collapsed.
Click to expand it.
Documentation/x86_64/boot-options.txt
View file @
adbedd34
...
...
@@ -47,7 +47,7 @@ Timing
notsc
Don't use the CPU time stamp counter to read the wall time.
This can be used to work around timing problems on multiprocessor systems
with not properly synchronized CPUs.
Only useful with a SMP kernel
with not properly synchronized CPUs.
report_lost_ticks
Report when timer interrupts are lost because some code turned off
...
...
@@ -74,6 +74,9 @@ Idle loop
event. This will make the CPUs eat a lot more power, but may be useful
to get slightly better performance in multiprocessor benchmarks. It also
makes some profiling using performance counters more accurate.
Please note that on systems with MONITOR/MWAIT support (like Intel EM64T
CPUs) this option has no performance advantage over the normal idle loop.
It may also interact badly with hyperthreading.
Rebooting
...
...
@@ -178,6 +181,5 @@ Debugging
Misc
noreplacement Don't replace instructions with more appropiate ones
for the CPU. This may be useful on asymmetric MP systems
where some CPU have less capabilities than the others.
for the CPU. This may be useful on asymmetric MP systems
where some CPU have less capabilities than the others.
This diff is collapsed.
Click to expand it.
Makefile
View file @
adbedd34
VERSION
=
2
PATCHLEVEL
=
6
SUBLEVEL
=
13
EXTRAVERSION
=
-rc
3
EXTRAVERSION
=
-rc
4
NAME
=
Woozy Numbat
# *DOCUMENTATION*
...
...
This diff is collapsed.
Click to expand it.
arch/arm/kernel/smp.c
View file @
adbedd34
...
...
@@ -176,6 +176,7 @@ asmlinkage void __cpuinit secondary_start_kernel(void)
cpu_set
(
cpu
,
mm
->
cpu_vm_mask
);
cpu_switch_mm
(
mm
->
pgd
,
mm
);
enter_lazy_tlb
(
mm
,
current
);
local_flush_tlb_all
();
cpu_init
();
...
...
This diff is collapsed.
Click to expand it.
arch/arm/lib/bitops.h
View file @
adbedd34
...
...
@@ -7,7 +7,7 @@
1
:
ldrexb
r2
,
[
r1
]
\
instr
r2
,
r2
,
r3
strexb
r0
,
r2
,
[
r1
]
cmp
ne
r0
,
#
0
cmp
r0
,
#
0
bne
1
b
mov
pc
,
lr
.
endm
...
...
This diff is collapsed.
Click to expand it.
arch/arm/mach-integrator/platsmp.c
View file @
adbedd34
...
...
@@ -15,6 +15,7 @@
#include <linux/mm.h>
#include <asm/atomic.h>
#include <asm/cacheflush.h>
#include <asm/delay.h>
#include <asm/mmu_context.h>
#include <asm/procinfo.h>
...
...
@@ -80,6 +81,7 @@ int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle)
* "cpu" is Linux's internal ID.
*/
pen_release
=
cpu
;
flush_cache_all
();
/*
* XXX
...
...
This diff is collapsed.
Click to expand it.
arch/i386/kernel/cpu/cpufreq/powernow-k8.c
View file @
adbedd34
/*
* (c) 2003, 2004 Advanced Micro Devices, Inc.
* (c) 2003, 2004
, 2005
Advanced Micro Devices, Inc.
* Your use of this code is subject to the terms and conditions of the
* GNU general public license version 2. See "COPYING" or
* http://www.gnu.org/licenses/gpl.html
...
...
@@ -44,7 +44,7 @@
#define PFX "powernow-k8: "
#define BFX PFX "BIOS error: "
#define VERSION "version 1.
4
0.
2
"
#define VERSION "version 1.
5
0.
3
"
#include "powernow-k8.h"
/* serialize freq changes */
...
...
@@ -231,7 +231,7 @@ static int write_new_vid(struct powernow_k8_data *data, u32 vid)
/*
* Reduce the vid by the max of step or reqvid.
* Decreasing vid codes represent increasing voltages:
* vid of 0 is 1.550V, vid of 0x1e is 0.800V, vid of
0x1f
is off.
* vid of 0 is 1.550V, vid of 0x1e is 0.800V, vid of
VID_OFF
is off.
*/
static
int
decrease_vid_code_by_step
(
struct
powernow_k8_data
*
data
,
u32
reqvid
,
u32
step
)
{
...
...
@@ -466,7 +466,7 @@ static int check_supported_cpu(unsigned int cpu)
eax
=
cpuid_eax
(
CPUID_PROCESSOR_SIGNATURE
);
if
(((
eax
&
CPUID_USE_XFAM_XMOD
)
!=
CPUID_USE_XFAM_XMOD
)
||
((
eax
&
CPUID_XFAM
)
!=
CPUID_XFAM_K8
)
||
((
eax
&
CPUID_XMOD
)
>
CPUID_XMOD_REV_
E
))
{
((
eax
&
CPUID_XMOD
)
>
CPUID_XMOD_REV_
F
))
{
printk
(
KERN_INFO
PFX
"Processor cpuid %x not supported
\n
"
,
eax
);
goto
out
;
}
...
...
@@ -695,6 +695,7 @@ static void powernow_k8_acpi_pst_values(struct powernow_k8_data *data, unsigned
data
->
irt
=
(
data
->
acpi_data
.
states
[
index
].
control
>>
IRT_SHIFT
)
&
IRT_MASK
;
data
->
rvo
=
(
data
->
acpi_data
.
states
[
index
].
control
>>
RVO_SHIFT
)
&
RVO_MASK
;
data
->
exttype
=
(
data
->
acpi_data
.
states
[
index
].
control
>>
EXT_TYPE_SHIFT
)
&
EXT_TYPE_MASK
;
data
->
plllock
=
(
data
->
acpi_data
.
states
[
index
].
control
>>
PLL_L_SHIFT
)
&
PLL_L_MASK
;
data
->
vidmvs
=
1
<<
((
data
->
acpi_data
.
states
[
index
].
control
>>
MVS_SHIFT
)
&
MVS_MASK
);
data
->
vstable
=
(
data
->
acpi_data
.
states
[
index
].
control
>>
VST_SHIFT
)
&
VST_MASK
;
...
...
@@ -734,8 +735,16 @@ static int powernow_k8_cpu_init_acpi(struct powernow_k8_data *data)
}
for
(
i
=
0
;
i
<
data
->
acpi_data
.
state_count
;
i
++
)
{
u32
fid
=
data
->
acpi_data
.
states
[
i
].
control
&
FID_MASK
;
u32
vid
=
(
data
->
acpi_data
.
states
[
i
].
control
>>
VID_SHIFT
)
&
VID_MASK
;
u32
fid
;
u32
vid
;
if
(
data
->
exttype
)
{
fid
=
data
->
acpi_data
.
states
[
i
].
status
&
FID_MASK
;
vid
=
(
data
->
acpi_data
.
states
[
i
].
status
>>
VID_SHIFT
)
&
VID_MASK
;
}
else
{
fid
=
data
->
acpi_data
.
states
[
i
].
control
&
FID_MASK
;
vid
=
(
data
->
acpi_data
.
states
[
i
].
control
>>
VID_SHIFT
)
&
VID_MASK
;
}
dprintk
(
" %d : fid 0x%x, vid 0x%x
\n
"
,
i
,
fid
,
vid
);
...
...
@@ -752,7 +761,7 @@ static int powernow_k8_cpu_init_acpi(struct powernow_k8_data *data)
}
/* verify voltage is OK - BIOSs are using "off" to indicate invalid */
if
(
vid
==
0x1f
)
{
if
(
vid
==
VID_OFF
)
{
dprintk
(
"invalid vid %u, ignoring
\n
"
,
vid
);
powernow_table
[
i
].
frequency
=
CPUFREQ_ENTRY_INVALID
;
continue
;
...
...
@@ -929,15 +938,6 @@ static int powernowk8_target(struct cpufreq_policy *pol, unsigned targfreq, unsi
down
(
&
fidvid_sem
);
for_each_cpu_mask
(
i
,
cpu_core_map
[
pol
->
cpu
])
{
/* make sure the sibling is initialized */
if
(
!
powernow_data
[
i
])
{
ret
=
0
;
up
(
&
fidvid_sem
);
goto
err_out
;
}
}
powernow_k8_acpi_pst_values
(
data
,
newstate
);
if
(
transition_frequency
(
data
,
newstate
))
{
...
...
@@ -977,7 +977,7 @@ static int __init powernowk8_cpu_init(struct cpufreq_policy *pol)
{
struct
powernow_k8_data
*
data
;
cpumask_t
oldmask
=
CPU_MASK_ALL
;
int
rc
;
int
rc
,
i
;
if
(
!
check_supported_cpu
(
pol
->
cpu
))
return
-
ENODEV
;
...
...
@@ -1063,7 +1063,9 @@ static int __init powernowk8_cpu_init(struct cpufreq_policy *pol)
printk
(
"cpu_init done, current fid 0x%x, vid 0x%x
\n
"
,
data
->
currfid
,
data
->
currvid
);
powernow_data
[
pol
->
cpu
]
=
data
;
for_each_cpu_mask
(
i
,
cpu_core_map
[
pol
->
cpu
])
{
powernow_data
[
i
]
=
data
;
}
return
0
;
...
...
This diff is collapsed.
Click to expand it.
arch/i386/kernel/cpu/cpufreq/powernow-k8.h
View file @
adbedd34
/*
* (c) 2003, 2004 Advanced Micro Devices, Inc.
* (c) 2003, 2004
, 2005
Advanced Micro Devices, Inc.
* Your use of this code is subject to the terms and conditions of the
* GNU general public license version 2. See "COPYING" or
* http://www.gnu.org/licenses/gpl.html
...
...
@@ -19,6 +19,7 @@ struct powernow_k8_data {
u32
vidmvs
;
/* usable value calculated from mvs */
u32
vstable
;
/* voltage stabilization time, units 20 us */
u32
plllock
;
/* pll lock time, units 1 us */
u32
exttype
;
/* extended interface = 1 */
/* keep track of the current fid / vid */
u32
currvid
,
currfid
;
...
...
@@ -41,7 +42,7 @@ struct powernow_k8_data {
#define CPUID_XFAM 0x0ff00000
/* extended family */
#define CPUID_XFAM_K8 0
#define CPUID_XMOD 0x000f0000
/* extended model */
#define CPUID_XMOD_REV_
E
0x000
2
0000
#define CPUID_XMOD_REV_
F
0x000
4
0000
#define CPUID_USE_XFAM_XMOD 0x00000f00
#define CPUID_GET_MAX_CAPABILITIES 0x80000000
#define CPUID_FREQ_VOLT_CAPABILITIES 0x80000007
...
...
@@ -57,25 +58,26 @@ struct powernow_k8_data {
/* Field definitions within the FID VID Low Control MSR : */
#define MSR_C_LO_INIT_FID_VID 0x00010000
#define MSR_C_LO_NEW_VID 0x0000
1
f00
#define MSR_C_LO_NEW_FID 0x000000
2
f
#define MSR_C_LO_NEW_VID 0x0000
3
f00
#define MSR_C_LO_NEW_FID 0x000000
3
f
#define MSR_C_LO_VID_SHIFT 8
/* Field definitions within the FID VID High Control MSR : */
#define MSR_C_HI_STP_GNT_TO
0x000fffff
#define MSR_C_HI_STP_GNT_TO
0x000fffff
/* Field definitions within the FID VID Low Status MSR : */
#define MSR_S_LO_CHANGE_PENDING 0x80000000
/* cleared when completed */
#define MSR_S_LO_MAX_RAMP_VID 0x
1
f000000
#define MSR_S_LO_CHANGE_PENDING 0x80000000
/* cleared when completed */
#define MSR_S_LO_MAX_RAMP_VID 0x
3
f000000
#define MSR_S_LO_MAX_FID 0x003f0000
#define MSR_S_LO_START_FID 0x00003f00
#define MSR_S_LO_CURRENT_FID 0x0000003f
/* Field definitions within the FID VID High Status MSR : */
#define MSR_S_HI_MAX_WORKING_VID 0x001f0000
#define MSR_S_HI_START_VID 0x00001f00
#define MSR_S_HI_CURRENT_VID 0x0000001f
#define MSR_C_HI_STP_GNT_BENIGN 0x00000001
#define MSR_S_HI_MIN_WORKING_VID 0x3f000000
#define MSR_S_HI_MAX_WORKING_VID 0x003f0000
#define MSR_S_HI_START_VID 0x00003f00
#define MSR_S_HI_CURRENT_VID 0x0000003f
#define MSR_C_HI_STP_GNT_BENIGN 0x00000001
/*
* There are restrictions frequencies have to follow:
...
...
@@ -99,13 +101,15 @@ struct powernow_k8_data {
#define MIN_FREQ_RESOLUTION 200
/* fids jump by 2 matching freq jumps by 200 */
#define MAX_FID 0x2a
/* Spec only gives FID values as far as 5 GHz */
#define LEAST_VID 0x
1
e
/* Lowest (numerically highest) useful vid value */
#define LEAST_VID 0x
3
e
/* Lowest (numerically highest) useful vid value */
#define MIN_FREQ 800
/* Min and max freqs, per spec */
#define MAX_FREQ 5000
#define INVALID_FID_MASK 0xffffffc1
/* not a valid fid if these bits are set */
#define INVALID_VID_MASK 0xffffffe0
/* not a valid vid if these bits are set */
#define INVALID_VID_MASK 0xffffffc0
/* not a valid vid if these bits are set */
#define VID_OFF 0x3f
#define STOP_GRANT_5NS 1
/* min poss memory access latency for voltage change */
...
...
@@ -121,12 +125,14 @@ struct powernow_k8_data {
#define IRT_SHIFT 30
#define RVO_SHIFT 28
#define EXT_TYPE_SHIFT 27
#define PLL_L_SHIFT 20
#define MVS_SHIFT 18
#define VST_SHIFT 11
#define VID_SHIFT 6
#define IRT_MASK 3
#define RVO_MASK 3
#define EXT_TYPE_MASK 1
#define PLL_L_MASK 0x7f
#define MVS_MASK 3
#define VST_MASK 0x7f
...
...
This diff is collapsed.
Click to expand it.
arch/i386/kernel/cpu/intel_cacheinfo.c
View file @
adbedd34
...
...
@@ -128,7 +128,7 @@ static int __devinit cpuid4_cache_lookup(int index, struct _cpuid4_info *this_le
cpuid_count
(
4
,
index
,
&
eax
,
&
ebx
,
&
ecx
,
&
edx
);
cache_eax
.
full
=
eax
;
if
(
cache_eax
.
split
.
type
==
CACHE_TYPE_NULL
)
return
-
1
;
return
-
EIO
;
/* better error ? */
this_leaf
->
eax
.
full
=
eax
;
this_leaf
->
ebx
.
full
=
ebx
;
...
...
@@ -334,6 +334,7 @@ static int __devinit detect_cache_attributes(unsigned int cpu)
struct
_cpuid4_info
*
this_leaf
;
unsigned
long
j
;
int
retval
;
cpumask_t
oldmask
;
if
(
num_cache_leaves
==
0
)
return
-
ENOENT
;
...
...
@@ -345,19 +346,26 @@ static int __devinit detect_cache_attributes(unsigned int cpu)
memset
(
cpuid4_info
[
cpu
],
0
,
sizeof
(
struct
_cpuid4_info
)
*
num_cache_leaves
);
oldmask
=
current
->
cpus_allowed
;
retval
=
set_cpus_allowed
(
current
,
cpumask_of_cpu
(
cpu
));
if
(
retval
)
goto
out
;
/* Do cpuid and store the results */
retval
=
0
;
for
(
j
=
0
;
j
<
num_cache_leaves
;
j
++
)
{
this_leaf
=
CPUID4_INFO_IDX
(
cpu
,
j
);
retval
=
cpuid4_cache_lookup
(
j
,
this_leaf
);
if
(
unlikely
(
retval
<
0
))
goto
err_out
;
break
;
cache_shared_cpu_map_setup
(
cpu
,
j
);
}
r
et
urn
0
;
s
et
_cpus_allowed
(
current
,
oldmask
)
;
err_out:
free_cache_attributes
(
cpu
);
return
-
ENOMEM
;
out:
if
(
retval
)
free_cache_attributes
(
cpu
);
return
retval
;
}
#ifdef CONFIG_SYSFS
...
...
This diff is collapsed.
Click to expand it.
arch/i386/kernel/machine_kexec.c
View file @
adbedd34
...
...
@@ -16,6 +16,7 @@
#include <asm/io.h>
#include <asm/apic.h>
#include <asm/cpufeature.h>
#include <asm/desc.h>
static
inline
unsigned
long
read_cr3
(
void
)
{
...
...
@@ -90,33 +91,32 @@ static void identity_map_page(unsigned long address)
}
#endif
static
void
set_idt
(
void
*
newidt
,
__u16
limit
)
{
unsigned
char
curidt
[
6
]
;
struct
Xgt_desc_struct
curidt
;
/* ia32 supports unaliged loads & stores */
(
*
(
__u16
*
)(
curidt
))
=
limit
;
(
*
(
__u32
*
)(
curidt
+
2
))
=
(
unsigned
long
)
(
newidt
)
;
curidt
.
size
=
limit
;
curidt
.
address
=
(
unsigned
long
)
newidt
;
__asm__
__volatile__
(
"lidt %0
\n
"
:
"
=
m"
(
curidt
)
"lidt
l
%0
\n
"
:
:
"m"
(
curidt
)
);
};
static
void
set_gdt
(
void
*
newgdt
,
__u16
limit
)
{
unsigned
char
curgdt
[
6
]
;
struct
Xgt_desc_struct
curgdt
;
/* ia32 supports unaligned loads & stores */
(
*
(
__u16
*
)(
curgdt
))
=
limit
;
(
*
(
__u32
*
)(
curgdt
+
2
))
=
(
unsigned
long
)
(
newgdt
)
;
curgdt
.
size
=
limit
;
curgdt
.
address
=
(
unsigned
long
)
newgdt
;
__asm__
__volatile__
(
"lgdt %0
\n
"
:
"
=
m"
(
curgdt
)
"lgdt
l
%0
\n
"
:
:
"m"
(
curgdt
)
);
};
...
...
This diff is collapsed.
Click to expand it.
arch/i386/kernel/mpparse.c
View file @
adbedd34
...
...
@@ -1116,7 +1116,15 @@ int mp_register_gsi (u32 gsi, int edge_level, int active_high_low)
*/
int
irq
=
gsi
;
if
(
gsi
<
MAX_GSI_NUM
)
{
gsi
=
pci_irq
++
;
if
(
gsi
>
15
)
gsi
=
pci_irq
++
;
#ifdef CONFIG_ACPI_BUS
/*
* Don't assign IRQ used by ACPI SCI
*/
if
(
gsi
==
acpi_fadt
.
sci_int
)
gsi
=
pci_irq
++
;
#endif
gsi_to_irq
[
irq
]
=
gsi
;
}
else
{
printk
(
KERN_ERR
"GSI %u is too high
\n
"
,
gsi
);
...
...
This diff is collapsed.
Click to expand it.
arch/i386/kernel/numaq.c
View file @
adbedd34
...
...
@@ -31,6 +31,7 @@
#include <linux/nodemask.h>
#include <asm/numaq.h>
#include <asm/topology.h>
#include <asm/processor.h>
#define MB_TO_PAGES(addr) ((addr) << (20 - PAGE_SHIFT))
...
...
@@ -77,3 +78,11 @@ int __init get_memcfg_numaq(void)
smp_dump_qct
();
return
1
;
}
static
int
__init
numaq_dsc_disable
(
void
)
{
printk
(
KERN_DEBUG
"NUMAQ: disabling TSC
\n
"
);
tsc_disable
=
1
;
return
0
;
}
core_initcall
(
numaq_dsc_disable
);
This diff is collapsed.
Click to expand it.
arch/i386/mm/discontig.c
View file @
adbedd34
...
...
@@ -243,6 +243,14 @@ static unsigned long calculate_numa_remap_pages(void)
/* now the roundup is correct, convert to PAGE_SIZE pages */
size
=
size
*
PTRS_PER_PTE
;
if
(
node_end_pfn
[
nid
]
&
(
PTRS_PER_PTE
-
1
))
{
/*
* Adjust size if node_end_pfn is not on a proper
* pmd boundary. remap_numa_kva will barf otherwise.
*/
size
+=
node_end_pfn
[
nid
]
&
(
PTRS_PER_PTE
-
1
);
}
/*
* Validate the region we are allocating only contains valid
* pages.
...
...
This diff is collapsed.
Click to expand it.
arch/i386/pci/irq.c
View file @
adbedd34
...
...
@@ -551,6 +551,13 @@ static __init int intel_router_probe(struct irq_router *r, struct pci_dev *route
static
__init
int
via_router_probe
(
struct
irq_router
*
r
,
struct
pci_dev
*
router
,
u16
device
)
{
/* FIXME: We should move some of the quirk fixup stuff here */
if
(
router
->
device
==
PCI_DEVICE_ID_VIA_82C686
&&
device
==
PCI_DEVICE_ID_VIA_82C586_0
)
{
/* Asus k7m bios wrongly reports 82C686A as 586-compatible */
device
=
PCI_DEVICE_ID_VIA_82C686
;
}
switch
(
device
)
{
case
PCI_DEVICE_ID_VIA_82C586_0
:
...
...
This diff is collapsed.
Click to expand it.
arch/s390/appldata/appldata_base.c
View file @
adbedd34
...
...
@@ -232,7 +232,11 @@ static int appldata_diag(char record_nr, u16 function, unsigned long buffer,
ry
=
-
1
;
asm
volatile
(
"diag %1,%0,0xDC
\n\t
"
:
"=d"
(
ry
)
:
"d"
(
&
(
appldata_parameter_list
))
:
"cc"
);
:
"=d"
(
ry
)
:
"d"
(
&
appldata_parameter_list
),
"m"
(
appldata_parameter_list
),
"m"
(
appldata_product_id
)
:
"cc"
);
return
(
int
)
ry
;
}
/************************ timer, work, DIAG <END> ****************************/
...
...
This diff is collapsed.
Click to expand it.
arch/s390/defconfig
View file @
adbedd34
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.1
2
-rc
3
# Fri
Apr
2
2
1
5:30:58
2005
# Linux kernel version: 2.6.1
3
-rc
4
# Fri
Jul
2
9
1
4:49:30
2005
#
CONFIG_MMU=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
...
...
@@ -23,10 +23,11 @@ CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION=""
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
#
CONFIG_POSIX_MQUEUE
is not set
CONFIG_POSIX_MQUEUE
=y
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y
# CONFIG_AUDIT is not set
CONFIG_AUDIT=y
# CONFIG_AUDITSYSCALL is not set
CONFIG_HOTPLUG=y
CONFIG_KOBJECT_UEVENT=y
CONFIG_IKCONFIG=y
...
...
@@ -36,6 +37,8 @@ CONFIG_IKCONFIG_PROC=y
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_ALL is not set
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
...
...
@@ -51,9 +54,10 @@ CONFIG_BASE_SMALL=0
# Loadable module support
#
CONFIG_MODULES=y
# CONFIG_MODULE_UNLOAD is not set
CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set
CONFIG_OBSOLETE_MODPARM=y
#
CONFIG_MODVERSIONS
is not set
CONFIG_MODVERSIONS
=y
# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_KMOD=y
CONFIG_STOP_MACHINE=y
...
...
@@ -81,8 +85,15 @@ CONFIG_MARCH_G5=y
# CONFIG_MARCH_Z990 is not set
CONFIG_PACK_STACK=y
# CONFIG_SMALL_STACK is not set
# CONFIG_CHECK_STACK is not set
CONFIG_CHECK_STACK=y
CONFIG_STACK_GUARD=256
# CONFIG_WARN_STACK is not set
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set
# CONFIG_SPARSEMEM_MANUAL is not set
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
#
# I/O subsystem configuration
...
...
@@ -95,7 +106,7 @@ CONFIG_QDIO=y
#
# Misc
#
#
CONFIG_PREEMPT
is not set
CONFIG_PREEMPT
=y
CONFIG_IPL=y
# CONFIG_IPL_TAPE is not set
CONFIG_IPL_VM=y
...
...
@@ -105,9 +116,110 @@ CONFIG_BINFMT_MISC=m
CONFIG_PFAULT=y
# CONFIG_SHARED_KERNEL is not set
# CONFIG_CMM is not set
# CONFIG_VIRT_TIMER is not set
CONFIG_VIRT_TIMER=y
CONFIG_VIRT_CPU_ACCOUNTING=y
# CONFIG_APPLDATA_BASE is not set
CONFIG_NO_IDLE_HZ=y
CONFIG_NO_IDLE_HZ_INIT=y
# CONFIG_KEXEC is not set
#
# Networking
#
CONFIG_NET=y
#
# Networking options
#
CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set
CONFIG_UNIX=y
CONFIG_XFRM=y
# CONFIG_XFRM_USER is not set
CONFIG_NET_KEY=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
# CONFIG_IP_ADVANCED_ROUTER is not set
CONFIG_IP_FIB_HASH=y
# CONFIG_IP_PNP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_IP_MROUTE is not set
# CONFIG_ARPD is not set
# CONFIG_SYN_COOKIES is not set
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set
# CONFIG_INET_TUNNEL is not set
CONFIG_IP_TCPDIAG=y
CONFIG_IP_TCPDIAG_IPV6=y
# CONFIG_TCP_CONG_ADVANCED is not set
CONFIG_TCP_CONG_BIC=y
CONFIG_IPV6=y
# CONFIG_IPV6_PRIVACY is not set
# CONFIG_INET6_AH is not set
# CONFIG_INET6_ESP is not set
# CONFIG_INET6_IPCOMP is not set
# CONFIG_INET6_TUNNEL is not set
# CONFIG_IPV6_TUNNEL is not set
# CONFIG_NETFILTER is not set
#
# SCTP Configuration (EXPERIMENTAL)
#
# CONFIG_IP_SCTP is not set
# CONFIG_ATM is not set
# CONFIG_BRIDGE is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_NET_DIVERT is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_CLK_JIFFIES=y
# CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set
# CONFIG_NET_SCH_CLK_CPU is not set
CONFIG_NET_SCH_CBQ=m
# CONFIG_NET_SCH_HTB is not set
# CONFIG_NET_SCH_HFSC is not set
CONFIG_NET_SCH_PRIO=m
CONFIG_NET_SCH_RED=m
CONFIG_NET_SCH_SFQ=m
CONFIG_NET_SCH_TEQL=m
CONFIG_NET_SCH_TBF=m
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_DSMARK=m
# CONFIG_NET_SCH_NETEM is not set
# CONFIG_NET_SCH_INGRESS is not set
CONFIG_NET_QOS=y
CONFIG_NET_ESTIMATOR=y
CONFIG_NET_CLS=y
# CONFIG_NET_CLS_BASIC is not set
CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_ROUTE4=m
CONFIG_NET_CLS_ROUTE=y
CONFIG_NET_CLS_FW=m
CONFIG_NET_CLS_U32=m
# CONFIG_CLS_U32_PERF is not set
# CONFIG_NET_CLS_IND is not set
CONFIG_NET_CLS_RSVP=m
CONFIG_NET_CLS_RSVP6=m
# CONFIG_NET_EMATCH is not set
# CONFIG_NET_CLS_ACT is not set
CONFIG_NET_CLS_POLICE=y
#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_HAMRADIO is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
# CONFIG_PCMCIA is not set
#
...
...
@@ -133,6 +245,7 @@ CONFIG_CHR_DEV_ST=y
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=y
# CONFIG_CHR_DEV_SCH is not set
#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
...
...
@@ -205,7 +318,13 @@ CONFIG_MD_RAID5=m
# CONFIG_MD_RAID6 is not set
CONFIG_MD_MULTIPATH=m
# CONFIG_MD_FAULTY is not set
# CONFIG_BLK_DEV_DM is not set
CONFIG_BLK_DEV_DM=y
CONFIG_DM_CRYPT=y
CONFIG_DM_SNAPSHOT=y
CONFIG_DM_MIRROR=y
CONFIG_DM_ZERO=y
CONFIG_DM_MULTIPATH=y
# CONFIG_DM_MULTIPATH_EMC is not set
#
# Character device drivers
...
...
@@ -231,7 +350,8 @@ CONFIG_CCW_CONSOLE=y
CONFIG_SCLP=y
CONFIG_SCLP_TTY=y
CONFIG_SCLP_CONSOLE=y
# CONFIG_SCLP_VT220_TTY is not set
CONFIG_SCLP_VT220_TTY=y
CONFIG_SCLP_VT220_CONSOLE=y
CONFIG_SCLP_CPI=m
CONFIG_S390_TAPE=m
...
...
@@ -255,105 +375,8 @@ CONFIG_S390_TAPE_34XX=m
CONFIG_Z90CRYPT=m
#
# Networking support
#
CONFIG_NET=y
#
# Networking options
#
CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set
CONFIG_UNIX=y
CONFIG_NET_KEY=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
# CONFIG_IP_ADVANCED_ROUTER is not set
# CONFIG_IP_PNP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_IP_MROUTE is not set
# CONFIG_ARPD is not set
# CONFIG_SYN_COOKIES is not set
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set
# CONFIG_INET_TUNNEL is not set
CONFIG_IP_TCPDIAG=y
CONFIG_IP_TCPDIAG_IPV6=y
CONFIG_IPV6=y
# CONFIG_IPV6_PRIVACY is not set
# CONFIG_INET6_AH is not set
# CONFIG_INET6_ESP is not set
# CONFIG_INET6_IPCOMP is not set
# CONFIG_INET6_TUNNEL is not set
# CONFIG_IPV6_TUNNEL is not set
# CONFIG_NETFILTER is not set
CONFIG_XFRM=y
# CONFIG_XFRM_USER is not set
#
# SCTP Configuration (EXPERIMENTAL)
#
# CONFIG_IP_SCTP is not set
# CONFIG_ATM is not set
# CONFIG_BRIDGE is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_NET_DIVERT is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
#
# QoS and/or fair queueing
#
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_CLK_JIFFIES=y
# CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set
# CONFIG_NET_SCH_CLK_CPU is not set
CONFIG_NET_SCH_CBQ=m
# CONFIG_NET_SCH_HTB is not set
# CONFIG_NET_SCH_HFSC is not set
CONFIG_NET_SCH_PRIO=m
CONFIG_NET_SCH_RED=m
CONFIG_NET_SCH_SFQ=m
CONFIG_NET_SCH_TEQL=m
CONFIG_NET_SCH_TBF=m
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_DSMARK=m
# CONFIG_NET_SCH_NETEM is not set
# CONFIG_NET_SCH_INGRESS is not set
CONFIG_NET_QOS=y
CONFIG_NET_ESTIMATOR=y
CONFIG_NET_CLS=y
# CONFIG_NET_CLS_BASIC is not set
CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_ROUTE4=m
CONFIG_NET_CLS_ROUTE=y
CONFIG_NET_CLS_FW=m
CONFIG_NET_CLS_U32=m
# CONFIG_CLS_U32_PERF is not set
# CONFIG_NET_CLS_IND is not set
CONFIG_NET_CLS_RSVP=m
CONFIG_NET_CLS_RSVP6=m
# CONFIG_NET_EMATCH is not set
# CONFIG_NET_CLS_ACT is not set
CONFIG_NET_CLS_POLICE=y
#
# Network testing
# Network device support
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_NETPOLL is not set
# CONFIG_NET_POLL_CONTROLLER is not set
# CONFIG_HAMRADIO is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
CONFIG_NETDEVICES=y
CONFIG_DUMMY=m
CONFIG_BONDING=m
...
...
@@ -411,12 +434,15 @@ CONFIG_CCWGROUP=y
# CONFIG_SLIP is not set
# CONFIG_SHAPER is not set
# CONFIG_NETCONSOLE is not set
# CONFIG_NETPOLL is not set
# CONFIG_NET_POLL_CONTROLLER is not set
#
# File systems
#
CONFIG_EXT2_FS=y
# CONFIG_EXT2_FS_XATTR is not set
# CONFIG_EXT2_FS_XIP is not set
CONFIG_EXT3_FS=y
CONFIG_EXT3_FS_XATTR=y
# CONFIG_EXT3_FS_POSIX_ACL is not set
...
...
@@ -426,6 +452,7 @@ CONFIG_JBD=y
CONFIG_FS_MBCACHE=y
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
# CONFIG_FS_POSIX_ACL is not set
#
# XFS support
...
...
@@ -433,6 +460,7 @@ CONFIG_FS_MBCACHE=y
# CONFIG_XFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_ROMFS_FS is not set
CONFIG_INOTIFY=y
# CONFIG_QUOTA is not set
CONFIG_DNOTIFY=y
# CONFIG_AUTOFS_FS is not set
...
...
@@ -457,7 +485,6 @@ CONFIG_DNOTIFY=y
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_SYSFS=y
# CONFIG_DEVFS_FS is not set
# CONFIG_DEVPTS_FS_XATTR is not set
CONFIG_TMPFS=y
# CONFIG_TMPFS_XATTR is not set
...
...
@@ -486,15 +513,18 @@ CONFIG_RAMFS=y
#
CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
# CONFIG_NFS_V3_ACL is not set
# CONFIG_NFS_V4 is not set
# CONFIG_NFS_DIRECTIO is not set
CONFIG_NFSD=y
CONFIG_NFSD_V3=y
# CONFIG_NFSD_V3_ACL is not set
# CONFIG_NFSD_V4 is not set
CONFIG_NFSD_TCP=y
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_EXPORTFS=y
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=y
# CONFIG_RPCSEC_GSS_KRB5 is not set
# CONFIG_RPCSEC_GSS_SPKM3 is not set
...
...
@@ -544,11 +574,12 @@ CONFIG_MAGIC_SYSRQ=y
CONFIG_LOG_BUF_SHIFT=17
# CONFIG_SCHEDSTATS is not set
# CONFIG_DEBUG_SLAB is not set
CONFIG_DEBUG_PREEMPT=y
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
# CONFIG_DEBUG_KOBJECT is not set
# CONFIG_DEBUG_INFO is not set
#
CONFIG_DEBUG_FS
is not set
CONFIG_DEBUG_FS
=y
#
# Security options
...
...
This diff is collapsed.
Click to expand it.
arch/s390/kernel/head.S
View file @
adbedd34
...
...
@@ -346,6 +346,13 @@ iplstart:
la
%
r2
,
.
Lreset
lhi
%
r3
,
26
diag
%
r2
,%
r3
,
8
la
%
r5
,
.
Lirb
stsch
0
(%
r5
)
#
check
if
irq
is
pending
tm
30
(%
r5
),
0x0f
#
by
verifying
if
any
of
the
bnz
.
Lwaitforirq
#
activity
or
status
control
tm
31
(%
r5
),
0xff
#
bits
is
set
in
the
schib
bz
.
Lnoreset
.
Lwaitforirq
:
mvc
0x78
(
8
),
.
Lrdrnewpsw
#
set
up
IO
interrupt
psw
.
Lwaitrdrirq
:
lpsw
.
Lrdrwaitpsw
...
...
This diff is collapsed.
Click to expand it.
Prev
1
2
3
4
5
…
13
Next
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