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
af9df9e3
Commit
af9df9e3
authored
Jan 14, 2003
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge
parents
b1975584
a0b7ca57
Changes
56
Hide whitespace changes
Inline
Side-by-side
Showing
56 changed files
with
364 additions
and
343 deletions
+364
-343
Makefile
Makefile
+11
-0
arch/alpha/vmlinux.lds.S
arch/alpha/vmlinux.lds.S
+2
-3
arch/arm/vmlinux-armo.lds.in
arch/arm/vmlinux-armo.lds.in
+4
-13
arch/arm/vmlinux-armv.lds.in
arch/arm/vmlinux-armv.lds.in
+4
-19
arch/cris/vmlinux.lds.S
arch/cris/vmlinux.lds.S
+3
-11
arch/i386/Makefile
arch/i386/Makefile
+4
-0
arch/i386/kernel/acpi.c
arch/i386/kernel/acpi.c
+7
-1
arch/i386/kernel/cpu/cpufreq/gx-suspmod.c
arch/i386/kernel/cpu/cpufreq/gx-suspmod.c
+1
-0
arch/i386/kernel/io_apic.c
arch/i386/kernel/io_apic.c
+8
-8
arch/i386/kernel/mpparse.c
arch/i386/kernel/mpparse.c
+3
-3
arch/i386/kernel/smp.c
arch/i386/kernel/smp.c
+1
-0
arch/i386/kernel/smpboot.c
arch/i386/kernel/smpboot.c
+2
-2
arch/i386/vmlinux.lds.S
arch/i386/vmlinux.lds.S
+4
-15
arch/ia64/vmlinux.lds.S
arch/ia64/vmlinux.lds.S
+2
-0
arch/m68k/vmlinux-std.lds
arch/m68k/vmlinux-std.lds
+4
-9
arch/m68k/vmlinux-sun3.lds
arch/m68k/vmlinux-sun3.lds
+4
-11
arch/m68knommu/vmlinux.lds.S
arch/m68knommu/vmlinux.lds.S
+2
-8
arch/mips/vmlinux.lds.S
arch/mips/vmlinux.lds.S
+4
-11
arch/mips64/ld.script.elf64
arch/mips64/ld.script.elf64
+1
-0
arch/mips64/vmlinux.lds.S
arch/mips64/vmlinux.lds.S
+4
-4
arch/parisc/vmlinux.lds.S
arch/parisc/vmlinux.lds.S
+7
-20
arch/ppc/vmlinux.lds.S
arch/ppc/vmlinux.lds.S
+4
-19
arch/ppc64/boot/zImage.lds
arch/ppc64/boot/zImage.lds
+1
-0
arch/ppc64/vmlinux.lds.S
arch/ppc64/vmlinux.lds.S
+5
-17
arch/s390/vmlinux.lds.S
arch/s390/vmlinux.lds.S
+4
-11
arch/s390x/vmlinux.lds.S
arch/s390x/vmlinux.lds.S
+4
-11
arch/sh/vmlinux.lds.S
arch/sh/vmlinux.lds.S
+3
-13
arch/sparc/vmlinux.lds.S
arch/sparc/vmlinux.lds.S
+4
-15
arch/sparc64/vmlinux.lds.S
arch/sparc64/vmlinux.lds.S
+6
-13
arch/um/uml.lds.S
arch/um/uml.lds.S
+4
-7
arch/v850/vmlinux.lds.S
arch/v850/vmlinux.lds.S
+2
-9
arch/x86_64/vmlinux.lds.S
arch/x86_64/vmlinux.lds.S
+4
-14
drivers/isdn/hisax/config.c
drivers/isdn/hisax/config.c
+1
-1
drivers/isdn/hisax/hisax_fcpcipnp.c
drivers/isdn/hisax/hisax_fcpcipnp.c
+1
-1
drivers/isdn/i4l/isdn_ppp_ccp.c
drivers/isdn/i4l/isdn_ppp_ccp.c
+1
-1
fs/devfs/Makefile
fs/devfs/Makefile
+0
-24
fs/devpts/inode.c
fs/devpts/inode.c
+1
-1
include/asm-generic/vmlinux.lds.h
include/asm-generic/vmlinux.lds.h
+24
-0
include/asm-i386/apicdef.h
include/asm-i386/apicdef.h
+7
-2
include/asm-i386/mach-bigsmp/mach_apic.h
include/asm-i386/mach-bigsmp/mach_apic.h
+13
-2
include/asm-i386/mach-default/mach_apic.h
include/asm-i386/mach-default/mach_apic.h
+10
-0
include/asm-i386/mach-default/mach_mpparse.h
include/asm-i386/mach-default/mach_mpparse.h
+6
-0
include/asm-i386/mach-numaq/mach_apic.h
include/asm-i386/mach-numaq/mach_apic.h
+11
-0
include/asm-i386/mach-numaq/mach_mpparse.h
include/asm-i386/mach-numaq/mach_mpparse.h
+5
-0
include/asm-i386/mach-summit/mach_apic.h
include/asm-i386/mach-summit/mach_apic.h
+49
-10
include/asm-i386/mach-summit/mach_mpparse.h
include/asm-i386/mach-summit/mach_mpparse.h
+9
-1
include/asm-i386/module.h
include/asm-i386/module.h
+44
-0
include/asm-i386/mpspec.h
include/asm-i386/mpspec.h
+3
-3
include/asm-i386/smp.h
include/asm-i386/smp.h
+0
-12
include/linux/cpufreq.h
include/linux/cpufreq.h
+1
-1
include/linux/fs.h
include/linux/fs.h
+0
-2
include/linux/i2c.h
include/linux/i2c.h
+0
-8
init/Makefile
init/Makefile
+2
-1
init/vermagic.c
init/vermagic.c
+22
-0
kernel/module.c
kernel/module.c
+22
-2
scripts/Makefile.build
scripts/Makefile.build
+9
-4
No files found.
Makefile
View file @
af9df9e3
...
@@ -394,6 +394,17 @@ $(SUBDIRS): .hdepend prepare
...
@@ -394,6 +394,17 @@ $(SUBDIRS): .hdepend prepare
prepare
:
include/linux/version.h include/asm include/config/MARKER
prepare
:
include/linux/version.h include/asm include/config/MARKER
@
echo
' Starting the build. KBUILD_BUILTIN=
$(KBUILD_BUILTIN)
KBUILD_MODULES=
$(KBUILD_MODULES)
'
@
echo
' Starting the build. KBUILD_BUILTIN=
$(KBUILD_BUILTIN)
KBUILD_MODULES=
$(KBUILD_MODULES)
'
# We need to build init/vermagic.o before descending since all modules
# (*.ko) need it already
ifdef
CONFIG_MODULES
prepare
:
init/vermagic.o
init/vermagic.o
:
include/linux/version.h
endif
# This can be used by arch/$ARCH/Makefile to preprocess
# This can be used by arch/$ARCH/Makefile to preprocess
# their vmlinux.lds.S file
# their vmlinux.lds.S file
...
...
arch/alpha/vmlinux.lds.S
View file @
af9df9e3
#include <linux/config.h>
#include <linux/config.h>
#include <asm-generic/vmlinux.lds.h>
OUTPUT_FORMAT
("
elf64
-
alpha
")
OUTPUT_FORMAT
("
elf64
-
alpha
")
OUTPUT_ARCH
(
alpha
)
OUTPUT_ARCH
(
alpha
)
...
@@ -20,9 +21,7 @@ SECTIONS
...
@@ -20,9 +21,7 @@ SECTIONS
*(.
gnu.warning
)
*(.
gnu.warning
)
}
:
kernel
}
:
kernel
_etext
=
.
; /* End of text section */
_etext
=
.
; /* End of text section */
RODATA
.
rodata
:
{
*(
.
rodata
)
*(
.
rodata
.
*)
}
.
kstrtab
:
{
*(
.
kstrtab
)
}
.
=
ALIGN
(
16
)
;
.
=
ALIGN
(
16
)
;
__start___ex_table
=
.
; /* Exception table */
__start___ex_table
=
.
; /* Exception table */
...
...
arch/arm/vmlinux-armo.lds.in
View file @
af9df9e3
...
@@ -2,6 +2,9 @@
...
@@ -2,6 +2,9 @@
* taken from the i386 version by Russell King
* taken from the i386 version by Russell King
* Written by Martin Mares <mj@atrey.karlin.mff.cuni.cz>
* Written by Martin Mares <mj@atrey.karlin.mff.cuni.cz>
*/
*/
#include <asm-generic/vmlinux.lds.h>
OUTPUT_ARCH(arm)
OUTPUT_ARCH(arm)
ENTRY(stext)
ENTRY(stext)
jiffies = jiffies_64;
jiffies = jiffies_64;
...
@@ -63,8 +66,6 @@ SECTIONS
...
@@ -63,8 +66,6 @@ SECTIONS
_etext = .; /* End of text section */
_etext = .; /* End of text section */
}
}
.kstrtab : { *(.kstrtab) }
. = ALIGN(16);
. = ALIGN(16);
__ex_table : { /* Exception table */
__ex_table : { /* Exception table */
__start___ex_table = .;
__start___ex_table = .;
...
@@ -72,17 +73,7 @@ SECTIONS
...
@@ -72,17 +73,7 @@ SECTIONS
__stop___ex_table = .;
__stop___ex_table = .;
}
}
__ksymtab : { /* Kernel symbol table */
RODATA
__start___ksymtab = .;
*(__ksymtab)
__stop___ksymtab = .;
}
__gpl_ksymtab : { /* Kernel symbol table: GPL-only */
__start___gpl_ksymtab = .;
*(__gpl_ksymtab)
__stop___gpl_ksymtab = .;
}
.data : {
.data : {
/*
/*
...
...
arch/arm/vmlinux-armv.lds.in
View file @
af9df9e3
...
@@ -2,6 +2,9 @@
...
@@ -2,6 +2,9 @@
* taken from the i386 version by Russell King
* taken from the i386 version by Russell King
* Written by Martin Mares <mj@atrey.karlin.mff.cuni.cz>
* Written by Martin Mares <mj@atrey.karlin.mff.cuni.cz>
*/
*/
#include <asm-generic/vmlinux.lds.h>
OUTPUT_ARCH(arm)
OUTPUT_ARCH(arm)
ENTRY(stext)
ENTRY(stext)
jiffies = jiffies_64;
jiffies = jiffies_64;
...
@@ -66,8 +69,6 @@ SECTIONS
...
@@ -66,8 +69,6 @@ SECTIONS
_etext = .; /* End of text section */
_etext = .; /* End of text section */
}
}
.kstrtab : { *(.kstrtab) }
. = ALIGN(16);
. = ALIGN(16);
__ex_table : { /* Exception table */
__ex_table : { /* Exception table */
__start___ex_table = .;
__start___ex_table = .;
...
@@ -75,23 +76,7 @@ SECTIONS
...
@@ -75,23 +76,7 @@ SECTIONS
__stop___ex_table = .;
__stop___ex_table = .;
}
}
__gpl_ksymtab : { /* GPL Kernel symbol table */
RODATA
__start___gpl_ksymtab = .;
*(__gpl_ksymtab)
__stop___gpl_ksymtab = .;
}
__ksymtab : { /* Kernel symbol table */
__start___ksymtab = .;
*(__ksymtab)
__stop___ksymtab = .;
}
__kallsyms : { /* All kernel symbols */
__start___kallsyms = .;
*(__kallsyms)
__stop___kallsyms = .;
}
. = ALIGN(8192);
. = ALIGN(8192);
...
...
arch/cris/vmlinux.lds.S
View file @
af9df9e3
...
@@ -9,7 +9,8 @@
...
@@ -9,7 +9,8 @@
*/
*/
#include <linux/config.h>
#include <linux/config.h>
#include <asm-generic/vmlinux.lds.h>
jiffies
=
jiffies_64
;
jiffies
=
jiffies_64
;
SECTIONS
SECTIONS
{
{
...
@@ -31,21 +32,12 @@ SECTIONS
...
@@ -31,21 +32,12 @@ SECTIONS
_etext
=
.
; /* End of text section */
_etext
=
.
; /* End of text section */
__etext
=
.
;
__etext
=
.
;
.
rodata
:
{
*(
.
rodata
)
*(
.
rodata
.
__
*)
}
.
kstrtab
:
{
*(
.
kstrtab
)
}
.
=
ALIGN
(
4
)
; /* Exception table */
.
=
ALIGN
(
4
)
; /* Exception table */
__start___ex_table
=
.
;
__start___ex_table
=
.
;
__ex_table
:
{
*(
__ex_table
)
}
__ex_table
:
{
*(
__ex_table
)
}
__stop___ex_table
=
.
;
__stop___ex_table
=
.
;
__start___ksymtab
=
.
; /* Kernel symbol table */
RODATA
__ksymtab
:
{
*(
__ksymtab
)
}
__stop___ksymtab
=
.
;
__start___gpl_ksymtab
=
.
; /* Kernel symbol table: GPL-only */
__gpl_ksymtab
:
{
*(
__gpl_ksymtab
)
}
__stop___gpl_ksymtab
=
.
;
.
=
ALIGN
(
4
)
;
.
=
ALIGN
(
4
)
;
___data_start
=
.
;
___data_start
=
.
;
...
...
arch/i386/Makefile
View file @
af9df9e3
...
@@ -69,6 +69,10 @@ mcore-$(CONFIG_X86_NUMAQ) := mach-default
...
@@ -69,6 +69,10 @@ mcore-$(CONFIG_X86_NUMAQ) := mach-default
mflags-$(CONFIG_X86_BIGSMP)
:=
-Iinclude
/asm-i386/mach-bigsmp
mflags-$(CONFIG_X86_BIGSMP)
:=
-Iinclude
/asm-i386/mach-bigsmp
mcore-$(CONFIG_X86_BIGSMP)
:=
mach-default
mcore-$(CONFIG_X86_BIGSMP)
:=
mach-default
#Summit subarch support
mflags-$(CONFIG_X86_SUMMIT)
:=
-Iinclude
/asm-i386/mach-summit
mcore-$(CONFIG_X86_SUMMIT)
:=
mach-default
# default subarch .h files
# default subarch .h files
mflags-y
+=
-Iinclude
/asm-i386/mach-default
mflags-y
+=
-Iinclude
/asm-i386/mach-default
...
...
arch/i386/kernel/acpi.c
View file @
af9df9e3
...
@@ -44,6 +44,8 @@
...
@@ -44,6 +44,8 @@
#include <asm/io_apic.h>
#include <asm/io_apic.h>
#include <asm/tlbflush.h>
#include <asm/tlbflush.h>
#include <mach_apic.h>
#include <mach_mpparse.h>
#define PREFIX "ACPI: "
#define PREFIX "ACPI: "
...
@@ -126,6 +128,8 @@ acpi_parse_madt (
...
@@ -126,6 +128,8 @@ acpi_parse_madt (
printk
(
KERN_INFO
PREFIX
"Local APIC address 0x%08x
\n
"
,
printk
(
KERN_INFO
PREFIX
"Local APIC address 0x%08x
\n
"
,
madt
->
lapic_address
);
madt
->
lapic_address
);
acpi_madt_oem_check
(
madt
->
header
.
oem_id
,
madt
->
header
.
oem_table_id
);
return
0
;
return
0
;
}
}
...
@@ -430,8 +434,10 @@ acpi_boot_init (
...
@@ -430,8 +434,10 @@ acpi_boot_init (
#endif
/*CONFIG_X86_IO_APIC*/
#endif
/*CONFIG_X86_IO_APIC*/
#ifdef CONFIG_X86_LOCAL_APIC
#ifdef CONFIG_X86_LOCAL_APIC
if
(
acpi_lapic
&&
acpi_ioapic
)
if
(
acpi_lapic
&&
acpi_ioapic
)
{
smp_found_config
=
1
;
smp_found_config
=
1
;
clustered_apic_check
();
}
#endif
#endif
return
0
;
return
0
;
...
...
arch/i386/kernel/cpu/cpufreq/gx-suspmod.c
View file @
af9df9e3
...
@@ -482,6 +482,7 @@ static int __init cpufreq_gx_init(void)
...
@@ -482,6 +482,7 @@ static int __init cpufreq_gx_init(void)
driver
->
policy
[
0
].
cpuinfo
.
transition_latency
=
CPUFREQ_ETERNAL
;
driver
->
policy
[
0
].
cpuinfo
.
transition_latency
=
CPUFREQ_ETERNAL
;
driver
->
verify
=
&
cpufreq_gx_verify
;
driver
->
verify
=
&
cpufreq_gx_verify
;
driver
->
setpolicy
=
&
cpufreq_gx_setpolicy
;
driver
->
setpolicy
=
&
cpufreq_gx_setpolicy
;
strncpy
(
driver
->
name
,
"gx-suspmod"
,
CPUFREQ_NAME_LEN
);
gx_driver
=
driver
;
gx_driver
=
driver
;
...
...
arch/i386/kernel/io_apic.c
View file @
af9df9e3
...
@@ -278,7 +278,7 @@ static inline void balance_irq(int irq)
...
@@ -278,7 +278,7 @@ static inline void balance_irq(int irq)
new_cpu
=
move
(
entry
->
cpu
,
allowed_mask
,
now
,
random_number
);
new_cpu
=
move
(
entry
->
cpu
,
allowed_mask
,
now
,
random_number
);
if
(
entry
->
cpu
!=
new_cpu
)
{
if
(
entry
->
cpu
!=
new_cpu
)
{
entry
->
cpu
=
new_cpu
;
entry
->
cpu
=
new_cpu
;
set_ioapic_affinity
(
irq
,
1
<<
new_cpu
);
set_ioapic_affinity
(
irq
,
cpu_to_logical_apicid
(
new_cpu
)
);
}
}
}
}
}
}
...
@@ -719,8 +719,8 @@ void __init setup_IO_APIC_irqs(void)
...
@@ -719,8 +719,8 @@ void __init setup_IO_APIC_irqs(void)
*/
*/
memset
(
&
entry
,
0
,
sizeof
(
entry
));
memset
(
&
entry
,
0
,
sizeof
(
entry
));
entry
.
delivery_mode
=
dest_LowestPrio
;
entry
.
delivery_mode
=
INT_DELIVERY_MODE
;
entry
.
dest_mode
=
INT_DE
LIVERY
_MODE
;
entry
.
dest_mode
=
INT_DE
ST
_MODE
;
entry
.
mask
=
0
;
/* enable IRQ */
entry
.
mask
=
0
;
/* enable IRQ */
entry
.
dest
.
logical
.
logical_dest
=
TARGET_CPUS
;
entry
.
dest
.
logical
.
logical_dest
=
TARGET_CPUS
;
...
@@ -799,10 +799,10 @@ void __init setup_ExtINT_IRQ0_pin(unsigned int pin, int vector)
...
@@ -799,10 +799,10 @@ void __init setup_ExtINT_IRQ0_pin(unsigned int pin, int vector)
* We use logical delivery to get the timer IRQ
* We use logical delivery to get the timer IRQ
* to the first CPU.
* to the first CPU.
*/
*/
entry
.
dest_mode
=
INT_DE
LIVERY
_MODE
;
entry
.
dest_mode
=
INT_DE
ST
_MODE
;
entry
.
mask
=
0
;
/* unmask IRQ now */
entry
.
mask
=
0
;
/* unmask IRQ now */
entry
.
dest
.
logical
.
logical_dest
=
TARGET_CPUS
;
entry
.
dest
.
logical
.
logical_dest
=
TARGET_CPUS
;
entry
.
delivery_mode
=
dest_LowestPrio
;
entry
.
delivery_mode
=
INT_DELIVERY_MODE
;
entry
.
polarity
=
0
;
entry
.
polarity
=
0
;
entry
.
trigger
=
0
;
entry
.
trigger
=
0
;
entry
.
vector
=
vector
;
entry
.
vector
=
vector
;
...
@@ -1763,7 +1763,7 @@ late_initcall(io_apic_bug_finalize);
...
@@ -1763,7 +1763,7 @@ late_initcall(io_apic_bug_finalize);
#ifdef CONFIG_ACPI_BOOT
#ifdef CONFIG_ACPI_BOOT
#define IO_APIC_MAX_ID
15
#define IO_APIC_MAX_ID
APIC_BROADCAST_ID
int
__init
io_apic_get_unique_id
(
int
ioapic
,
int
apic_id
)
int
__init
io_apic_get_unique_id
(
int
ioapic
,
int
apic_id
)
{
{
...
@@ -1880,8 +1880,8 @@ int io_apic_set_pci_routing (int ioapic, int pin, int irq)
...
@@ -1880,8 +1880,8 @@ int io_apic_set_pci_routing (int ioapic, int pin, int irq)
memset
(
&
entry
,
0
,
sizeof
(
entry
));
memset
(
&
entry
,
0
,
sizeof
(
entry
));
entry
.
delivery_mode
=
dest_LowestPrio
;
entry
.
delivery_mode
=
INT_DELIVERY_MODE
;
entry
.
dest_mode
=
INT_DE
LIVERY
_MODE
;
entry
.
dest_mode
=
INT_DE
ST
_MODE
;
entry
.
dest
.
logical
.
logical_dest
=
TARGET_CPUS
;
entry
.
dest
.
logical
.
logical_dest
=
TARGET_CPUS
;
entry
.
mask
=
1
;
/* Disabled (masked) */
entry
.
mask
=
1
;
/* Disabled (masked) */
entry
.
trigger
=
1
;
/* Level sensitive */
entry
.
trigger
=
1
;
/* Level sensitive */
...
...
arch/i386/kernel/mpparse.c
View file @
af9df9e3
...
@@ -72,8 +72,8 @@ static unsigned int __initdata num_processors;
...
@@ -72,8 +72,8 @@ static unsigned int __initdata num_processors;
/* Bitmask of physically existing CPUs */
/* Bitmask of physically existing CPUs */
unsigned
long
phys_cpu_present_map
;
unsigned
long
phys_cpu_present_map
;
int
summit_x86
=
0
;
int
x86_summit
=
0
;
u8
raw_phys
_apicid
[
NR_CPUS
]
=
{
[
0
...
NR_CPUS
-
1
]
=
BAD_APICID
};
u8
bios_cpu
_apicid
[
NR_CPUS
]
=
{
[
0
...
NR_CPUS
-
1
]
=
BAD_APICID
};
/*
/*
* Intel MP BIOS table parsing routines:
* Intel MP BIOS table parsing routines:
...
@@ -186,7 +186,7 @@ void __init MP_processor_info (struct mpc_config_processor *m)
...
@@ -186,7 +186,7 @@ void __init MP_processor_info (struct mpc_config_processor *m)
ver
=
0x10
;
ver
=
0x10
;
}
}
apic_version
[
m
->
mpc_apicid
]
=
ver
;
apic_version
[
m
->
mpc_apicid
]
=
ver
;
raw_phys
_apicid
[
num_processors
-
1
]
=
m
->
mpc_apicid
;
bios_cpu
_apicid
[
num_processors
-
1
]
=
m
->
mpc_apicid
;
}
}
static
void
__init
MP_bus_info
(
struct
mpc_config_bus
*
m
)
static
void
__init
MP_bus_info
(
struct
mpc_config_bus
*
m
)
...
...
arch/i386/kernel/smp.c
View file @
af9df9e3
...
@@ -24,6 +24,7 @@
...
@@ -24,6 +24,7 @@
#include <asm/pgalloc.h>
#include <asm/pgalloc.h>
#include <asm/tlbflush.h>
#include <asm/tlbflush.h>
#include <mach_ipi.h>
#include <mach_ipi.h>
#include <mach_apic.h>
/*
/*
* Some notes on x86 processor bugs affecting SMP operation:
* Some notes on x86 processor bugs affecting SMP operation:
...
...
arch/i386/kernel/smpboot.c
View file @
af9df9e3
...
@@ -1045,10 +1045,10 @@ static void __init smp_boot_cpus(unsigned int max_cpus)
...
@@ -1045,10 +1045,10 @@ static void __init smp_boot_cpus(unsigned int max_cpus)
/*
/*
* Don't even attempt to start the boot CPU!
* Don't even attempt to start the boot CPU!
*/
*/
if
(
apicid
==
boot_cpu_apicid
)
if
(
(
apicid
==
boot_cpu_apicid
)
||
(
apicid
==
BAD_APICID
)
)
continue
;
continue
;
if
(
!
(
phys_cpu_present_map
&
(
1
<<
bit
)
))
if
(
!
check_apicid_present
(
bit
))
continue
;
continue
;
if
(
max_cpus
<=
cpucount
+
1
)
if
(
max_cpus
<=
cpucount
+
1
)
continue
;
continue
;
...
...
arch/i386/vmlinux.lds.S
View file @
af9df9e3
/*
ld
script
to
make
i386
Linux
kernel
/*
ld
script
to
make
i386
Linux
kernel
*
Written
by
Martin
Mares
<
mj
@
atrey
.
karlin
.
mff
.
cuni
.
cz
>
;
*
Written
by
Martin
Mares
<
mj
@
atrey
.
karlin
.
mff
.
cuni
.
cz
>
;
*/
*/
#include <asm-generic/vmlinux.lds.h>
OUTPUT_FORMAT
("
elf32
-
i386
",
"
elf32
-
i386
",
"elf32-i386"
)
OUTPUT_FORMAT
("
elf32
-
i386
",
"
elf32
-
i386
",
"elf32-i386"
)
OUTPUT_ARCH
(
i386
)
OUTPUT_ARCH
(
i386
)
ENTRY
(
_start
)
ENTRY
(
_start
)
...
@@ -18,26 +21,12 @@ SECTIONS
...
@@ -18,26 +21,12 @@ SECTIONS
_etext
=
.
; /* End of text section */
_etext
=
.
; /* End of text section */
.
rodata
:
{
*(
.
rodata
)
*(
.
rodata
.
*)
}
.
kstrtab
:
{
*(
.
kstrtab
)
}
.
=
ALIGN
(
16
)
; /* Exception table */
.
=
ALIGN
(
16
)
; /* Exception table */
__start___ex_table
=
.
;
__start___ex_table
=
.
;
__ex_table
:
{
*(
__ex_table
)
}
__ex_table
:
{
*(
__ex_table
)
}
__stop___ex_table
=
.
;
__stop___ex_table
=
.
;
.
=
ALIGN
(
64
)
;
RODATA
__start___ksymtab
=
.
; /* Kernel symbol table */
__ksymtab
:
{
*(
__ksymtab
)
}
__stop___ksymtab
=
.
;
__start___gpl_ksymtab
=
.
; /* Kernel symbol table: GPL-only symbols */
__gpl_ksymtab
:
{
*(
__gpl_ksymtab
)
}
__stop___gpl_ksymtab
=
.
;
__start___kallsyms
=
.
; /* All kernel symbols */
__kallsyms
:
{
*(
__kallsyms
)
}
__stop___kallsyms
=
.
;
/
*
writeable
*/
/
*
writeable
*/
.
data
:
{
/*
Data
*/
.
data
:
{
/*
Data
*/
...
...
arch/ia64/vmlinux.lds.S
View file @
af9df9e3
...
@@ -90,6 +90,8 @@ SECTIONS
...
@@ -90,6 +90,8 @@ SECTIONS
{
*(
.
rodata
)
*(
.
rodata
.
*)
}
{
*(
.
rodata
)
*(
.
rodata
.
*)
}
.
kstrtab
:
AT
(
ADDR
(
.
kstrtab
)
-
PAGE_OFFSET
)
.
kstrtab
:
AT
(
ADDR
(
.
kstrtab
)
-
PAGE_OFFSET
)
{
*(
.
kstrtab
)
}
{
*(
.
kstrtab
)
}
__vermagic
:
AT
(
ADDR
(
__vermagic
)
-
PAGE_OFFSET
)
{
*(
__vermagic
)
}
.
opd
:
AT
(
ADDR
(
.
opd
)
-
PAGE_OFFSET
)
.
opd
:
AT
(
ADDR
(
.
opd
)
-
PAGE_OFFSET
)
{
*(
.
opd
)
}
{
*(
.
opd
)
}
...
...
arch/m68k/vmlinux-std.lds
View file @
af9df9e3
/* ld script to make m68k Linux kernel */
/* ld script to make m68k Linux kernel */
#include <asm-generic/vmlinux.lds.h>
OUTPUT_FORMAT("elf32-m68k", "elf32-m68k", "elf32-m68k")
OUTPUT_FORMAT("elf32-m68k", "elf32-m68k", "elf32-m68k")
OUTPUT_ARCH(m68k)
OUTPUT_ARCH(m68k)
ENTRY(_start)
ENTRY(_start)
...
@@ -12,21 +15,13 @@ SECTIONS
...
@@ -12,21 +15,13 @@ SECTIONS
*(.fixup)
*(.fixup)
*(.gnu.warning)
*(.gnu.warning)
} = 0x4e75
} = 0x4e75
.rodata : { *(.rodata) *(.rodata.*) }
.kstrtab : { *(.kstrtab) }
. = ALIGN(16); /* Exception table */
. = ALIGN(16); /* Exception table */
__start___ex_table = .;
__start___ex_table = .;
__ex_table : { *(__ex_table) }
__ex_table : { *(__ex_table) }
__stop___ex_table = .;
__stop___ex_table = .;
__start___ksymtab = .; /* Kernel symbol table */
RODATA
__ksymtab : { *(__ksymtab) }
__stop___ksymtab = .;
__start___gpl_ksymtab = .; /* Kernel symbol table: GPL only */
__gpl_ksymtab : { *(__gpl_ksymtab) }
__stop___gpl_ksymtab = .;
_etext = .; /* End of text section */
_etext = .; /* End of text section */
...
...
arch/m68k/vmlinux-sun3.lds
View file @
af9df9e3
/* ld script to make m68k Linux kernel */
/* ld script to make m68k Linux kernel */
#include <asm-generic/vmlinux.lds.h>
OUTPUT_FORMAT("elf32-m68k", "elf32-m68k", "elf32-m68k")
OUTPUT_FORMAT("elf32-m68k", "elf32-m68k", "elf32-m68k")
OUTPUT_ARCH(m68k)
OUTPUT_ARCH(m68k)
ENTRY(_start)
ENTRY(_start)
...
@@ -13,26 +16,16 @@ SECTIONS
...
@@ -13,26 +16,16 @@ SECTIONS
*(.fixup)
*(.fixup)
*(.gnu.warning)
*(.gnu.warning)
} = 0x4e75
} = 0x4e75
.kstrtab : { *(.kstrtab) }
_etext = .; /* End of text section */
_etext = .; /* End of text section */
.data : { /* Data */
.data : { /* Data */
*(.rodata)
RODATA
*(.rodata.*)
*(.data)
CONSTRUCTORS
CONSTRUCTORS
. = ALIGN(16); /* Exception table */
. = ALIGN(16); /* Exception table */
__start___ex_table = .;
__start___ex_table = .;
*(__ex_table)
*(__ex_table)
__stop___ex_table = .;
__stop___ex_table = .;
__start___ksymtab = .; /* Kernel symbol table */
*(__ksymtab)
__stop___ksymtab = .;
__start___gpl_ksymtab = .; /* Kernel symbol table: GPL-only */
__gpl_ksymtab : { *(__gpl_ksymtab) }
__stop___gpl_ksymtab = .;
}
}
/* End of data goes *here* so that freeing init code works properly. */
/* End of data goes *here* so that freeing init code works properly. */
_edata = .;
_edata = .;
...
...
arch/m68knommu/vmlinux.lds.S
View file @
af9df9e3
...
@@ -10,6 +10,7 @@
...
@@ -10,6 +10,7 @@
*/
*/
#include <linux/config.h>
#include <linux/config.h>
#include <asm-generic/vmlinux.lds.h>
/*
/*
*
Original
Palm
pilot
(
same
for
Xcopilot
)
.
*
Original
Palm
pilot
(
same
for
Xcopilot
)
.
...
@@ -219,20 +220,13 @@ SECTIONS {
...
@@ -219,20 +220,13 @@ SECTIONS {
_stext
=
.
;
_stext
=
.
;
*(.
text
)
*(.
text
)
*(.
text.lock
)
*(.
text.lock
)
*(.
rodata
)
*(.
rodata
.*)
.
=
ALIGN
(
0x4
)
;
*(.
kstrtab
)
.
=
ALIGN
(
16
)
; /* Exception table */
.
=
ALIGN
(
16
)
; /* Exception table */
__start___ex_table
=
.
;
__start___ex_table
=
.
;
*(
__ex_table
)
*(
__ex_table
)
__stop___ex_table
=
.
;
__stop___ex_table
=
.
;
__start___ksymtab
=
.
; /* Kernel symbol table */
RODATA
*(
__ksymtab
)
__stop___ksymtab
=
.
;
.
=
ALIGN
(
4
)
;
.
=
ALIGN
(
4
)
;
_etext
=
.
;
_etext
=
.
;
...
...
arch/mips/vmlinux.lds.S
View file @
af9df9e3
#include <asm-generic/vmlinux.lds.h>
OUTPUT_ARCH
(
mips
)
OUTPUT_ARCH
(
mips
)
ENTRY
(
kernel_entry
)
ENTRY
(
kernel_entry
)
SECTIONS
SECTIONS
...
@@ -9,12 +11,9 @@ SECTIONS
...
@@ -9,12 +11,9 @@ SECTIONS
{
{
_ftext
=
.
;
_ftext
=
.
;
*(.
text
)
*(.
text
)
*(.
rodata
)
*(.
rodata1
)
/
*
.
gnu
.
warning
sections
are
handled
specially
by
elf32
.
em
.
*/
/
*
.
gnu
.
warning
sections
are
handled
specially
by
elf32
.
em
.
*/
*(.
gnu.warning
)
*(.
gnu.warning
)
}
=
0
}
=
0
.
kstrtab
:
{
*(
.
kstrtab
)
}
.
=
ALIGN
(
16
)
; /* Exception table */
.
=
ALIGN
(
16
)
; /* Exception table */
__start___ex_table
=
.
;
__start___ex_table
=
.
;
...
@@ -25,14 +24,8 @@ SECTIONS
...
@@ -25,14 +24,8 @@ SECTIONS
__dbe_table
:
{
*(
__dbe_table
)
}
__dbe_table
:
{
*(
__dbe_table
)
}
__stop___dbe_table
=
.
;
__stop___dbe_table
=
.
;
__start___ksymtab
=
.
; /* Kernel symbol table */
RODATA
__ksymtab
:
{
*(
__ksymtab
)
}
__stop___ksymtab
=
.
;
__start___gpl_ksymtab
=
.
; /* Kernel symbol table: GPL-only symbols */
__gpl_ksymtab
:
{
*(
__gpl_ksymtab
)
}
__stop___gpl_ksymtab
=
.
;
_etext
=
.
;
_etext
=
.
;
.
=
ALIGN
(
8192
)
;
.
=
ALIGN
(
8192
)
;
...
...
arch/mips64/ld.script.elf64
View file @
af9df9e3
...
@@ -25,6 +25,7 @@ SECTIONS
...
@@ -25,6 +25,7 @@ SECTIONS
*(.gnu.warning)
*(.gnu.warning)
} = 0
} = 0
.kstrtab : { *(.kstrtab) }
.kstrtab : { *(.kstrtab) }
__vermagic : { *(__vermagic) }
. = ALIGN(16); /* Exception table */
. = ALIGN(16); /* Exception table */
__start___ex_table = .;
__start___ex_table = .;
...
...
arch/mips64/vmlinux.lds.S
View file @
af9df9e3
#include <asm-generic/vmlinux.lds.h>
OUTPUT_ARCH
(
mips
)
OUTPUT_ARCH
(
mips
)
ENTRY
(
kernel_entry
)
ENTRY
(
kernel_entry
)
SECTIONS
SECTIONS
...
@@ -7,13 +9,9 @@ SECTIONS
...
@@ -7,13 +9,9 @@ SECTIONS
.
text
:
.
text
:
{
{
*(.
text
)
*(.
text
)
*(.
rodata
)
*(.
rodata
.*)
*(.
rodata1
)
/
*
.
gnu
.
warning
sections
are
handled
specially
by
elf32
.
em
.
*/
/
*
.
gnu
.
warning
sections
are
handled
specially
by
elf32
.
em
.
*/
*(.
gnu.warning
)
*(.
gnu.warning
)
}
=
0
}
=
0
.
kstrtab
:
{
*(
.
kstrtab
)
}
.
=
ALIGN
(
16
)
; /* Exception table */
.
=
ALIGN
(
16
)
; /* Exception table */
__start___ex_table
=
.
;
__start___ex_table
=
.
;
...
@@ -24,6 +22,8 @@ SECTIONS
...
@@ -24,6 +22,8 @@ SECTIONS
__dbe_table
:
{
*(
__dbe_table
)
}
__dbe_table
:
{
*(
__dbe_table
)
}
__stop___dbe_table
=
.
;
__stop___dbe_table
=
.
;
RODATA
_etext
=
.
;
_etext
=
.
;
.
=
ALIGN
(
16384
)
;
.
=
ALIGN
(
16384
)
;
...
...
arch/parisc/vmlinux.lds.S
View file @
af9df9e3
#include <linux/config.h>
#include <linux/config.h>
#include <asm-generic/vmlinux.lds.h>
/*
ld
script
to
make
hppa
Linux
kernel
*/
/*
ld
script
to
make
hppa
Linux
kernel
*/
#ifndef CONFIG_PARISC64
#ifndef CONFIG_PARISC64
OUTPUT_FORMAT
("
elf32
-
hppa
-
linux
")
OUTPUT_FORMAT
("
elf32
-
hppa
-
linux
")
...
@@ -31,31 +32,17 @@ SECTIONS
...
@@ -31,31 +32,17 @@ SECTIONS
_etext
=
.
; /* End of text section */
_etext
=
.
; /* End of text section */
.
=
ALIGN
(
16
)
;
.
rodata
:
{
*(
.
rodata
)
*(
.
rodata
.
*)
}
.
kstrtab
:
{
*(
.
kstrtab
)
}
.
data
BLOCK
(
8192
)
:
{
/*
Data
without
special
*/
data_start
=
.
;
*(.
data
)
}
.
=
ALIGN
(
16
)
; /* Exception table */
.
=
ALIGN
(
16
)
; /* Exception table */
__start___ex_table
=
.
;
__start___ex_table
=
.
;
__ex_table
:
{
*(
__ex_table
)
}
__ex_table
:
{
*(
__ex_table
)
}
__stop___ex_table
=
.
;
__stop___ex_table
=
.
;
__start___ksymtab
=
.
; /* Kernel symbol table */
RODATA
__ksymtab
:
{
*(
__ksymtab
)
}
__stop___ksymtab
=
.
;
__start___gpl_ksymtab
=
.
; /* Kernel symbol table: GPL-only symbols */
__gpl_ksymtab
:
{
*(
__gpl_ksymtab
)
}
__stop___gpl_ksymtab
=
.
;
__start___kallsyms
=
.
; /* All kernel symbols */
.
data
BLOCK
(
8192
)
:
{
/*
Data
without
special
*/
__kallsyms
:
{
*(
__kallsyms
)
}
data_start
=
.
;
__stop___kallsyms
=
.
;
*(.
data
)
}
#ifdef CONFIG_PARISC64
#ifdef CONFIG_PARISC64
.
=
ALIGN
(
16
)
; /* Linkage tables */
.
=
ALIGN
(
16
)
; /* Linkage tables */
...
...
arch/ppc/vmlinux.lds.S
View file @
af9df9e3
#include <asm-generic/vmlinux.lds.h>
OUTPUT_ARCH
(
powerpc
)
OUTPUT_ARCH
(
powerpc
)
SEARCH_DIR
(/
lib
)
; SEARCH_DIR(/usr/lib); SEARCH_DIR(/usr/local/lib); SEARCH_DIR(/usr/local/powerpc-any-elf/lib);
SEARCH_DIR
(/
lib
)
; SEARCH_DIR(/usr/lib); SEARCH_DIR(/usr/local/lib); SEARCH_DIR(/usr/local/powerpc-any-elf/lib);
/*
Do
we
need
any
of
these
for
elf
?
/*
Do
we
need
any
of
these
for
elf
?
...
@@ -40,13 +42,8 @@ SECTIONS
...
@@ -40,13 +42,8 @@ SECTIONS
}
}
_etext
=
.
;
_etext
=
.
;
PROVIDE
(
etext
=
.
)
;
PROVIDE
(
etext
=
.
)
;
.
rodata
:
{
RODATA
*(.
rodata
)
*(.
rodata
.*)
*(.
rodata1
)
}
.
kstrtab
:
{
*(
.
kstrtab
)
}
.
fini
:
{
*(
.
fini
)
}
=
0
.
fini
:
{
*(
.
fini
)
}
=
0
.
ctors
:
{
*(
.
ctors
)
}
.
ctors
:
{
*(
.
ctors
)
}
.
dtors
:
{
*(
.
dtors
)
}
.
dtors
:
{
*(
.
dtors
)
}
...
@@ -57,18 +54,6 @@ SECTIONS
...
@@ -57,18 +54,6 @@ SECTIONS
__ex_table
:
{
*(
__ex_table
)
}
__ex_table
:
{
*(
__ex_table
)
}
__stop___ex_table
=
.
;
__stop___ex_table
=
.
;
__start___ksymtab
=
.
; /* Kernel symbol table */
__ksymtab
:
{
*(
__ksymtab
)
}
__stop___ksymtab
=
.
;
__start___gpl_ksymtab
=
.
; /* Kernel symbol table: GPL-only symbols */
__gpl_ksymtab
:
{
*(
__gpl_ksymtab
)
}
__stop___gpl_ksymtab
=
.
;
__start___kallsyms
=
.
; /* All kernel symbols */
__kallsyms
:
{
*(
__kallsyms
)
}
__stop___kallsyms
=
.
;
/
*
Read
-
write
section
,
merged
into
data
segment
:
*/
/
*
Read
-
write
section
,
merged
into
data
segment
:
*/
.
=
ALIGN
(
4096
)
;
.
=
ALIGN
(
4096
)
;
.
data
:
.
data
:
...
...
arch/ppc64/boot/zImage.lds
View file @
af9df9e3
...
@@ -42,6 +42,7 @@ SECTIONS
...
@@ -42,6 +42,7 @@ SECTIONS
*(.rodata1)
*(.rodata1)
}
}
.kstrtab : { *(.kstrtab) }
.kstrtab : { *(.kstrtab) }
__vermagic : { *(__vermagic) }
.fini : { *(.fini) } =0
.fini : { *(.fini) } =0
.ctors : { *(.ctors) }
.ctors : { *(.ctors) }
.dtors : { *(.dtors) }
.dtors : { *(.dtors) }
...
...
arch/ppc64/vmlinux.lds.S
View file @
af9df9e3
#include <asm-generic/vmlinux.lds.h>
OUTPUT_ARCH
(
powerpc
:
common64
)
OUTPUT_ARCH
(
powerpc
:
common64
)
/*
Do
we
need
any
of
these
for
elf
?
/*
Do
we
need
any
of
these
for
elf
?
__DYNAMIC
=
0
; */
__DYNAMIC
=
0
; */
...
@@ -37,11 +39,9 @@ SECTIONS
...
@@ -37,11 +39,9 @@ SECTIONS
.
=
ALIGN
(
4096
)
;
.
=
ALIGN
(
4096
)
;
_etext
=
.
;
_etext
=
.
;
PROVIDE
(
etext
=
.
)
;
PROVIDE
(
etext
=
.
)
;
.
rodata
:
{
RODATA
*(.
rodata
)
*(.
rodata1
)
}
.
fini
:
{
*(
.
fini
)
}
=
0
.
fini
:
{
*(
.
fini
)
}
=
0
.
ctors
:
{
*(
.
ctors
)
}
.
ctors
:
{
*(
.
ctors
)
}
.
dtors
:
{
*(
.
dtors
)
}
.
dtors
:
{
*(
.
dtors
)
}
...
@@ -65,18 +65,6 @@ SECTIONS
...
@@ -65,18 +65,6 @@ SECTIONS
__ex_table
:
{
*(
__ex_table
)
}
__ex_table
:
{
*(
__ex_table
)
}
__stop___ex_table
=
.
;
__stop___ex_table
=
.
;
__start___ksymtab
=
.
; /* Kernel symbol table */
__ksymtab
:
{
*(
__ksymtab
)
}
__stop___ksymtab
=
.
;
__start___gpl_ksymtab
=
.
; /* Kernel symbol table: GPL-only symbols */
__gpl_ksymtab
:
{
*(
__gpl_ksymtab
)
}
__stop___gpl_ksymtab
=
.
;
__start___kallsyms
=
.
; /* All kernel symbols */
__kallsyms
:
{
*(
__kallsyms
)
}
__stop___kallsyms
=
.
;
.
=
ALIGN
(
16384
)
; /* init_task */
.
=
ALIGN
(
16384
)
; /* init_task */
.
data.
init_task
:
{
*(
.
data
.
init_task
)
}
.
data.
init_task
:
{
*(
.
data
.
init_task
)
}
...
...
arch/s390/vmlinux.lds.S
View file @
af9df9e3
/*
ld
script
to
make
s390
Linux
kernel
/*
ld
script
to
make
s390
Linux
kernel
*
Written
by
Martin
Schwidefsky
(
schwidefsky
@
de
.
ibm
.
com
)
*
Written
by
Martin
Schwidefsky
(
schwidefsky
@
de
.
ibm
.
com
)
*/
*/
#include <asm-generic/vmlinux.lds.h>
OUTPUT_FORMAT
("
elf32
-
s390
",
"
elf32
-
s390
",
"elf32-s390"
)
OUTPUT_FORMAT
("
elf32
-
s390
",
"
elf32
-
s390
",
"elf32-s390"
)
OUTPUT_ARCH
(
s390
)
OUTPUT_ARCH
(
s390
)
ENTRY
(
_start
)
ENTRY
(
_start
)
...
@@ -17,22 +20,12 @@ SECTIONS
...
@@ -17,22 +20,12 @@ SECTIONS
_etext
=
.
; /* End of text section */
_etext
=
.
; /* End of text section */
.
rodata
:
{
*(
.
rodata
)
*(
.
rodata
.
*)
}
.
kstrtab
:
{
*(
.
kstrtab
)
}
.
=
ALIGN
(
16
)
; /* Exception table */
.
=
ALIGN
(
16
)
; /* Exception table */
__start___ex_table
=
.
;
__start___ex_table
=
.
;
__ex_table
:
{
*(
__ex_table
)
}
__ex_table
:
{
*(
__ex_table
)
}
__stop___ex_table
=
.
;
__stop___ex_table
=
.
;
.
=
ALIGN
(
64
)
;
RODATA
__start___ksymtab
=
.
; /* Kernel symbol table */
__ksymtab
:
{
*(
__ksymtab
)
}
__stop___ksymtab
=
.
;
__start___gpl_ksymtab
=
.
; /* Kernel symbol table: GPL-only symbols */
__gpl_ksymtab
:
{
*(
__gpl_ksymtab
)
}
__stop___gpl_ksymtab
=
.
;
#ifdef CONFIG_SHARED_KERNEL
#ifdef CONFIG_SHARED_KERNEL
.
=
ALIGN
(
1048576
)
; /* VM shared segments are 1MB aligned */
.
=
ALIGN
(
1048576
)
; /* VM shared segments are 1MB aligned */
...
...
arch/s390x/vmlinux.lds.S
View file @
af9df9e3
/*
/*
*
Written
by
Martin
Schwidefsky
(
schwidefsky
@
de
.
ibm
.
com
)
*
Written
by
Martin
Schwidefsky
(
schwidefsky
@
de
.
ibm
.
com
)
*/
*/
#include <asm-generic/vmlinux.lds.h>
OUTPUT_FORMAT
("
elf64
-
s390
",
"
elf64
-
s390
",
"elf64-s390"
)
OUTPUT_FORMAT
("
elf64
-
s390
",
"
elf64
-
s390
",
"elf64-s390"
)
OUTPUT_ARCH
(
s390
:
64
-
bit
)
OUTPUT_ARCH
(
s390
:
64
-
bit
)
ENTRY
(
_start
)
ENTRY
(
_start
)
...
@@ -17,22 +20,12 @@ SECTIONS
...
@@ -17,22 +20,12 @@ SECTIONS
_etext
=
.
; /* End of text section */
_etext
=
.
; /* End of text section */
.
rodata
:
{
*(
.
rodata
)
*(
.
rodata
.
*)
}
.
kstrtab
:
{
*(
.
kstrtab
)
}
.
=
ALIGN
(
16
)
; /* Exception table */
.
=
ALIGN
(
16
)
; /* Exception table */
__start___ex_table
=
.
;
__start___ex_table
=
.
;
__ex_table
:
{
*(
__ex_table
)
}
__ex_table
:
{
*(
__ex_table
)
}
__stop___ex_table
=
.
;
__stop___ex_table
=
.
;
.
=
ALIGN
(
64
)
;
RODATA
__start___ksymtab
=
.
; /* Kernel symbol table */
__ksymtab
:
{
*(
__ksymtab
)
}
__stop___ksymtab
=
.
;
__start___gpl_ksymtab
=
.
; /* Kernel symbol table: GPL-only symbols */
__gpl_ksymtab
:
{
*(
__gpl_ksymtab
)
}
__stop___gpl_ksymtab
=
.
;
#ifdef CONFIG_SHARED_KERNEL
#ifdef CONFIG_SHARED_KERNEL
.
=
ALIGN
(
1048576
)
; /* VM shared segments are 1MB aligned */
.
=
ALIGN
(
1048576
)
; /* VM shared segments are 1MB aligned */
...
...
arch/sh/vmlinux.lds.S
View file @
af9df9e3
...
@@ -3,6 +3,8 @@
...
@@ -3,6 +3,8 @@
*
Written
by
Niibe
Yutaka
*
Written
by
Niibe
Yutaka
*/
*/
#include <linux/config.h>
#include <linux/config.h>
#include <asm-generic/vmlinux.lds.h>
#ifdef CONFIG_CPU_LITTLE_ENDIAN
#ifdef CONFIG_CPU_LITTLE_ENDIAN
OUTPUT_FORMAT
("
elf32
-
sh
-
linux
",
"
elf32
-
sh
-
linux
",
"elf32-sh-linux"
)
OUTPUT_FORMAT
("
elf32
-
sh
-
linux
",
"
elf32
-
sh
-
linux
",
"elf32-sh-linux"
)
jiffies
=
jiffies_64
;
jiffies
=
jiffies_64
;
...
@@ -25,25 +27,13 @@ SECTIONS
...
@@ -25,25 +27,13 @@ SECTIONS
*(.
fixup
)
*(.
fixup
)
*(.
gnu.warning
)
*(.
gnu.warning
)
}
=
0x0009
}
=
0x0009
.
rodata
:
{
*(
.
rodata
)
*(
.
rodata
.
*)
}
.
kstrtab
:
{
*(
.
kstrtab
)
}
.
=
ALIGN
(
16
)
; /* Exception table */
.
=
ALIGN
(
16
)
; /* Exception table */
__start___ex_table
=
.
;
__start___ex_table
=
.
;
__ex_table
:
{
*(
__ex_table
)
}
__ex_table
:
{
*(
__ex_table
)
}
__stop___ex_table
=
.
;
__stop___ex_table
=
.
;
__start___ksymtab
=
.
; /* Kernel symbol table */
RODATA
__ksymtab
:
{
*(
__ksymtab
)
}
__stop___ksymtab
=
.
;
__start___gpl_ksymtab
=
.
; /* Kernel symbol table: GPL-only symbols */
__gpl_ksymtab
:
{
*(
__gpl_ksymtab
)
}
__stop___gpl_ksymtab
=
.
;
__start___kallsyms
=
.
; /* All kernel symbols */
__kallsyms
:
{
*(
__kallsyms
)
}
__stop___kallsyms
=
.
;
_etext
=
.
; /* End of text section */
_etext
=
.
; /* End of text section */
...
...
arch/sparc/vmlinux.lds.S
View file @
af9df9e3
/*
ld
script
to
make
SparcLinux
kernel
*/
/*
ld
script
to
make
SparcLinux
kernel
*/
#include <asm-generic/vmlinux.lds.h>
OUTPUT_FORMAT
("
elf32
-
sparc
",
"
elf32
-
sparc
",
"elf32-sparc"
)
OUTPUT_FORMAT
("
elf32
-
sparc
",
"
elf32
-
sparc
",
"elf32-sparc"
)
OUTPUT_ARCH
(
sparc
)
OUTPUT_ARCH
(
sparc
)
ENTRY
(
_start
)
ENTRY
(
_start
)
...
@@ -13,8 +16,7 @@ SECTIONS
...
@@ -13,8 +16,7 @@ SECTIONS
}
=
0
}
=
0
_etext
=
.
;
_etext
=
.
;
PROVIDE
(
etext
=
.
)
;
PROVIDE
(
etext
=
.
)
;
.
rodata
:
{
*(
.
rodata
)
*(
.
rodata
.
*)
}
RODATA
.
rodata1
:
{
*(
.
rodata1
)
}
.
data
:
.
data
:
{
{
*(.
data
)
*(.
data
)
...
@@ -30,19 +32,6 @@ SECTIONS
...
@@ -30,19 +32,6 @@ SECTIONS
__ex_table
:
{
*(
__ex_table
)
}
__ex_table
:
{
*(
__ex_table
)
}
__stop___ex_table
=
.
;
__stop___ex_table
=
.
;
.
=
ALIGN
(
64
)
;
__start___ksymtab
=
.
;
__ksymtab
:
{
*(
__ksymtab
)
}
__stop___ksymtab
=
.
;
__start___gpl_ksymtab
=
.
;
__gpl_ksymtab
:
{
*(
__gpl_ksymtab
)
}
__stop___gpl_ksymtab
=
.
;
__start___kallsyms
=
.
; /* All kernel symbols */
__kallsyms
:
{
*(
__kallsyms
)
}
__stop___kallsyms
=
.
;
.
=
ALIGN
(
4096
)
;
.
=
ALIGN
(
4096
)
;
__init_begin
=
.
;
__init_begin
=
.
;
.
init.text
:
{
*(
.
init
.
text
)
}
.
init.text
:
{
*(
.
init
.
text
)
}
...
...
arch/sparc64/vmlinux.lds.S
View file @
af9df9e3
/*
ld
script
to
make
UltraLinux
kernel
*/
/*
ld
script
to
make
UltraLinux
kernel
*/
#include <asm-generic/vmlinux.lds.h>
OUTPUT_FORMAT
("
elf64
-
sparc
",
"
elf64
-
sparc
",
"elf64-sparc"
)
OUTPUT_FORMAT
("
elf64
-
sparc
",
"
elf64
-
sparc
",
"elf64-sparc"
)
OUTPUT_ARCH
(
sparc
:
v9a
)
OUTPUT_ARCH
(
sparc
:
v9a
)
ENTRY
(
_start
)
ENTRY
(
_start
)
...
@@ -16,8 +19,9 @@ SECTIONS
...
@@ -16,8 +19,9 @@ SECTIONS
}
=
0
}
=
0
_etext
=
.
;
_etext
=
.
;
PROVIDE
(
etext
=
.
)
;
PROVIDE
(
etext
=
.
)
;
.
rodata
:
{
*(
.
rodata
)
*(
.
rodata
.
*)
}
.
rodata1
:
{
*(
.
rodata1
)
}
RODATA
.
data
:
.
data
:
{
{
*(.
data
)
*(.
data
)
...
@@ -35,17 +39,6 @@ SECTIONS
...
@@ -35,17 +39,6 @@ SECTIONS
__ex_table
:
{
*(
__ex_table
)
}
__ex_table
:
{
*(
__ex_table
)
}
__stop___ex_table
=
.
;
__stop___ex_table
=
.
;
.
=
ALIGN
(
64
)
;
__start___ksymtab
=
.
;
__ksymtab
:
{
*(
__ksymtab
)
}
__stop___ksymtab
=
.
;
__start___gpl_ksymtab
=
.
;
__gpl_ksymtab
:
{
*(
__gpl_ksymtab
)
}
__stop___gpl_ksymtab
=
.
;
__kstrtab
:
{
*(
.
kstrtab
)
}
__start___kallsyms
=
.
; /* All kernel symbols */
__kallsyms
:
{
*(
__kallsyms
)
}
__stop___kallsyms
=
.
;
.
=
ALIGN
(
8192
)
;
.
=
ALIGN
(
8192
)
;
__init_begin
=
.
;
__init_begin
=
.
;
.
init.text
:
{
*(
.
init
.
text
)
}
.
init.text
:
{
*(
.
init
.
text
)
}
...
...
arch/um/uml.lds.S
View file @
af9df9e3
#include <asm-generic/vmlinux.lds.h>
OUTPUT_FORMAT
(
ELF_FORMAT
)
OUTPUT_FORMAT
(
ELF_FORMAT
)
OUTPUT_ARCH
(
ELF_ARCH
)
OUTPUT_ARCH
(
ELF_ARCH
)
ENTRY
(
_start
)
ENTRY
(
_start
)
...
@@ -31,20 +33,15 @@ SECTIONS
...
@@ -31,20 +33,15 @@ SECTIONS
*(.
gnu.warning
)
*(.
gnu.warning
)
*(.
gnu.linkonce.t
*)
*(.
gnu.linkonce.t
*)
}
}
.
kstrtab
:
{
*(
.
kstrtab
)
}
.
=
ALIGN
(
16
)
; /* Exception table */
.
=
ALIGN
(
16
)
; /* Exception table */
__start___ex_table
=
.
;
__start___ex_table
=
.
;
__ex_table
:
{
*(
__ex_table
)
}
__ex_table
:
{
*(
__ex_table
)
}
__stop___ex_table
=
.
;
__stop___ex_table
=
.
;
.
=
ALIGN
(
64
)
;
RODATA
__start___ksymtab
=
.
; /* Kernel symbol table */
__ksymtab
:
{
*(
__ksymtab
)
}
__stop___ksymtab
=
.
;
.
fini
:
{
*(
.
fini
)
}
=
0x9090
.
fini
:
{
*(
.
fini
)
}
=
0x9090
.
rodata
:
{
*(
.
rodata
)
*(
.
gnu
.
linkonce
.
r
*)
}
.
rodata1
:
{
*(
.
rodata1
)
}
_etext
=
.
;
_etext
=
.
;
PROVIDE
(
etext
=
.
)
;
PROVIDE
(
etext
=
.
)
;
...
...
arch/v850/vmlinux.lds.S
View file @
af9df9e3
...
@@ -12,6 +12,7 @@
...
@@ -12,6 +12,7 @@
*/
*/
#include <linux/config.h>
#include <linux/config.h>
#include <asm-generic/vmlinux.lds.h>
/*
The
following
macros
contain
the
usual
definitions
for
various
data
areas
.
/*
The
following
macros
contain
the
usual
definitions
for
various
data
areas
.
...
@@ -38,9 +39,7 @@
...
@@ -38,9 +39,7 @@
*(.
text.lock
)
\
*(.
text.lock
)
\
*(.
exitcall.exit
)
\
*(.
exitcall.exit
)
\
__real_etext
=
.
; /* There may be data after here. */ \
__real_etext
=
.
; /* There may be data after here. */ \
*(.
rodata
)
\
RODATA
\
.
=
ALIGN
(
0x4
)
; \
*(.
kstrtab
)
\
.
=
ALIGN
(
4
)
; \
.
=
ALIGN
(
4
)
; \
*(.
call_table_data
)
\
*(.
call_table_data
)
\
*(.
call_table_text
)
\
*(.
call_table_text
)
\
...
@@ -48,12 +47,6 @@
...
@@ -48,12 +47,6 @@
___start___ex_table
=
.
; \
___start___ex_table
=
.
; \
*(
__ex_table
)
\
*(
__ex_table
)
\
___stop___ex_table
=
.
; \
___stop___ex_table
=
.
; \
___start___ksymtab
=
.
;/* Kernel symbol table. */ \
*(
__ksymtab
)
\
___stop___ksymtab
=
.
; \
___start___gpl_ksymtab
=
.
; /* Same for GPL symbols. */ \
*(
__gpl_ksymtab
)
\
___stop___gpl_ksymtab
=
.
; \
.
=
ALIGN
(
4
)
; \
.
=
ALIGN
(
4
)
; \
__etext
=
.
;
__etext
=
.
;
...
...
arch/x86_64/vmlinux.lds.S
View file @
af9df9e3
/*
ld
script
to
make
x86
-
64
Linux
kernel
/*
ld
script
to
make
x86
-
64
Linux
kernel
*
Written
by
Martin
Mares
<
mj
@
atrey
.
karlin
.
mff
.
cuni
.
cz
>
;
*
Written
by
Martin
Mares
<
mj
@
atrey
.
karlin
.
mff
.
cuni
.
cz
>
;
*/
*/
#include <asm-generic/vmlinux.lds.h>
OUTPUT_FORMAT
("
elf64
-
x86
-
64
",
"
elf64
-
x86
-64",
"elf64-x86-64"
)
OUTPUT_FORMAT
("
elf64
-
x86
-
64
",
"
elf64
-
x86
-64",
"elf64-x86-64"
)
OUTPUT_ARCH
(
i386
:
x86
-
64
)
OUTPUT_ARCH
(
i386
:
x86
-
64
)
ENTRY
(
_start
)
ENTRY
(
_start
)
...
@@ -18,25 +21,12 @@ SECTIONS
...
@@ -18,25 +21,12 @@ SECTIONS
_etext
=
.
; /* End of text section */
_etext
=
.
; /* End of text section */
.
rodata
:
{
*(
.
rodata
)
*(
.
rodata
.
*)
}
.
kstrtab
:
{
*(
.
kstrtab
)
}
.
=
ALIGN
(
16
)
; /* Exception table */
.
=
ALIGN
(
16
)
; /* Exception table */
__start___ex_table
=
.
;
__start___ex_table
=
.
;
__ex_table
:
{
*(
__ex_table
)
}
__ex_table
:
{
*(
__ex_table
)
}
__stop___ex_table
=
.
;
__stop___ex_table
=
.
;
.
=
ALIGN
(
64
)
;
RODATA
__start___ksymtab
=
.
; /* Kernel symbol table */
__ksymtab
:
{
*(
__ksymtab
)
}
__stop___ksymtab
=
.
;
__start___gpl_ksymtab
=
.
; /* Kernel symbol table: GPL-only symbols */
__gpl_ksymtab
:
{
*(
__gpl_ksymtab
)
}
__stop___gpl_ksymtab
=
.
;
__start___kallsyms
=
.
; /* All kernel symbols */
__kallsyms
:
{
*(
__kallsyms
)
}
__stop___kallsyms
=
.
;
.
data
:
{
/*
Data
*/
.
data
:
{
/*
Data
*/
*(.
data
)
*(.
data
)
...
...
drivers/isdn/hisax/config.c
View file @
af9df9e3
...
@@ -2138,7 +2138,7 @@ request_mmio(struct resources *rs, unsigned long start, int len,
...
@@ -2138,7 +2138,7 @@ request_mmio(struct resources *rs, unsigned long start, int len,
}
}
void
void
hisax_re
sources_release
(
struct
IsdnCardState
*
cs
)
hisax_re
lease_resources
(
struct
IsdnCardState
*
cs
)
{
{
resources_release
(
&
cs
->
rs
);
resources_release
(
&
cs
->
rs
);
}
}
...
...
drivers/isdn/hisax/hisax_fcpcipnp.c
View file @
af9df9e3
...
@@ -58,7 +58,7 @@ static struct pci_device_id fcpci_ids[] __devinitdata = {
...
@@ -58,7 +58,7 @@ static struct pci_device_id fcpci_ids[] __devinitdata = {
};
};
MODULE_DEVICE_TABLE
(
pci
,
fcpci_ids
);
MODULE_DEVICE_TABLE
(
pci
,
fcpci_ids
);
static
struct
pnp_card_id
fcpnp_ids
[]
__devinitdata
=
{
static
struct
pnp_card_
device_
id
fcpnp_ids
[]
__devinitdata
=
{
{
.
id
=
"AVM0900"
,
{
.
id
=
"AVM0900"
,
.
driver_data
=
(
unsigned
long
)
"Fritz!Card PnP"
,
.
driver_data
=
(
unsigned
long
)
"Fritz!Card PnP"
,
.
devs
=
{
{
"AVM0900"
}
}
}
.
devs
=
{
{
"AVM0900"
}
}
}
...
...
drivers/isdn/i4l/isdn_ppp_ccp.c
View file @
af9df9e3
...
@@ -241,7 +241,7 @@ ippp_ccp_alloc(void)
...
@@ -241,7 +241,7 @@ ippp_ccp_alloc(void)
struct
ippp_ccp
*
ccp
;
struct
ippp_ccp
*
ccp
;
ccp
=
kmalloc
(
sizeof
(
*
ccp
),
GFP_ATOMIC
);
// FIXME
ccp
=
kmalloc
(
sizeof
(
*
ccp
),
GFP_ATOMIC
);
// FIXME
if
(
!
c
p
p
)
if
(
!
c
c
p
)
return
NULL
;
return
NULL
;
memset
(
ccp
,
0
,
sizeof
(
*
ccp
));
memset
(
ccp
,
0
,
sizeof
(
*
ccp
));
ccp
->
mru
=
1524
;
/* MRU, default 1524 */
ccp
->
mru
=
1524
;
/* MRU, default 1524 */
...
...
fs/devfs/Makefile
View file @
af9df9e3
...
@@ -8,27 +8,3 @@ obj-$(CONFIG_DEVFS_FS) += devfs.o
...
@@ -8,27 +8,3 @@ obj-$(CONFIG_DEVFS_FS) += devfs.o
devfs-objs
:=
base.o util.o
devfs-objs
:=
base.o util.o
# Special case to support building documentation
ifndef
TOPDIR
TOPDIR
=
../..
endif
# Rule to build documentation
doc
:
base.c util.c
@
echo
'$$PACKAGE devfs'
>
devfs.doc
@
echo
'$$NAME Linux Kernel'
>>
devfs.doc
@
echo
'$$SUMMARY devfs (Device FileSystem) functions'
>>
devfs.doc
@
echo
'$$SYNOPSIS "#include <linux/devfs_fs.h>"'
>>
devfs.doc
@
echo
'$$END'
>>
devfs.doc
c2doc base.c util.c
>>
devfs.doc
karma_doc2man
-section
9 devfs.doc .
rm
devfs.doc
gzip
--best
*
.9
mv
*
.9.gz /usr/man/man9
# Rule for test compiling
test
:
gcc
-o
/tmp/base.o
-D__KERNEL__
-I
../../include
-Wall
\
-Wstrict-prototypes
-O2
-fomit-frame-pointer
-pipe
\
-fno-strength-reduce
-DEXPORT_SYMTAB
-c
base.c
fs/devpts/inode.c
View file @
af9df9e3
...
@@ -180,7 +180,7 @@ static int __init init_devpts_fs(void)
...
@@ -180,7 +180,7 @@ static int __init init_devpts_fs(void)
static
void
__exit
exit_devpts_fs
(
void
)
static
void
__exit
exit_devpts_fs
(
void
)
{
{
unregister_filesystem
(
&
devpts_fs_type
);
unregister_filesystem
(
&
devpts_fs_type
);
kern_umoun
t
(
devpts_mnt
);
mntpu
t
(
devpts_mnt
);
}
}
module_init
(
init_devpts_fs
)
module_init
(
init_devpts_fs
)
...
...
include/asm-generic/vmlinux.lds.h
0 → 100644
View file @
af9df9e3
#define RODATA \
.rodata : { *(.rodata) *(.rodata.*) *(.rodata1) } \
.rodata1 : { *(.rodata1) } \
\
.kstrtab : { *(.kstrtab) } \
\
/* Kernel version magic */
\
__vermagic : { *(__vermagic) } \
\
/* Kernel symbol table */
\
. = ALIGN(64); \
__start___ksymtab = .; \
__ksymtab : { *(__ksymtab) } \
__stop___ksymtab = .; \
\
/* Kernel symbol table: GPL-only symbols */
\
__start___gpl_ksymtab = .; \
__gpl_ksymtab : { *(__gpl_ksymtab) } \
__stop___gpl_ksymtab = .; \
\
/* All kernel symbols */
\
__start___kallsyms = .; \
__kallsyms : { *(__kallsyms) } \
__stop___kallsyms = .; \
include/asm-i386/apicdef.h
View file @
af9df9e3
...
@@ -11,8 +11,13 @@
...
@@ -11,8 +11,13 @@
#define APIC_DEFAULT_PHYS_BASE 0xfee00000
#define APIC_DEFAULT_PHYS_BASE 0xfee00000
#define APIC_ID 0x20
#define APIC_ID 0x20
#define APIC_ID_MASK (0x0F<<24)
#ifdef CONFIG_X86_SUMMIT
#define GET_APIC_ID(x) (((x)>>24)&0x0F)
#define APIC_ID_MASK (0xFF<<24)
#define GET_APIC_ID(x) (((x)>>24)&0xFF)
#else
#define APIC_ID_MASK (0x0F<<24)
#define GET_APIC_ID(x) (((x)>>24)&0x0F)
#endif
#define APIC_LVR 0x30
#define APIC_LVR 0x30
#define APIC_LVR_MASK 0xFF00FF
#define APIC_LVR_MASK 0xFF00FF
#define GET_APIC_VERSION(x) ((x)&0xFF)
#define GET_APIC_VERSION(x) ((x)&0xFF)
...
...
include/asm-i386/mach-bigsmp/mach_apic.h
View file @
af9df9e3
...
@@ -21,8 +21,12 @@ static inline int apic_id_registered(void)
...
@@ -21,8 +21,12 @@ static inline int apic_id_registered(void)
#define APIC_DFR_VALUE (APIC_DFR_CLUSTER)
#define APIC_DFR_VALUE (APIC_DFR_CLUSTER)
#define TARGET_CPUS ((cpu_online_map < 0xf)?cpu_online_map:0xf)
#define TARGET_CPUS ((cpu_online_map < 0xf)?cpu_online_map:0xf)
#define INT_DELIVERY_MODE dest_LowestPrio
#define INT_DEST_MODE 1
/* logical delivery broadcast to all procs */
#define APIC_BROADCAST_ID (0x0f)
#define APIC_BROADCAST_ID (0x0f)
#define check_apicid_used(bitmap, apicid) (0)
#define check_apicid_used(bitmap, apicid) (0)
#define check_apicid_present(bit) (phys_cpu_present_map & (1 << bit))
static
inline
unsigned
long
calculate_ldr
(
unsigned
long
old
)
static
inline
unsigned
long
calculate_ldr
(
unsigned
long
old
)
{
{
...
@@ -64,11 +68,11 @@ static inline int apicid_to_node(int logical_apicid)
...
@@ -64,11 +68,11 @@ static inline int apicid_to_node(int logical_apicid)
return
0
;
return
0
;
}
}
extern
u8
raw_phys
_apicid
[];
extern
u8
bios_cpu
_apicid
[];
static
inline
int
cpu_present_to_apicid
(
int
mps_cpu
)
static
inline
int
cpu_present_to_apicid
(
int
mps_cpu
)
{
{
return
(
int
)
raw_phys
_apicid
[
mps_cpu
];
return
(
int
)
bios_cpu
_apicid
[
mps_cpu
];
}
}
static
inline
unsigned
long
apicid_to_cpu_present
(
int
phys_apicid
)
static
inline
unsigned
long
apicid_to_cpu_present
(
int
phys_apicid
)
...
@@ -76,6 +80,13 @@ static inline unsigned long apicid_to_cpu_present(int phys_apicid)
...
@@ -76,6 +80,13 @@ static inline unsigned long apicid_to_cpu_present(int phys_apicid)
return
(
1ul
<<
phys_apicid
);
return
(
1ul
<<
phys_apicid
);
}
}
extern
volatile
u8
cpu_2_logical_apicid
[];
/* Mapping from cpu number to logical apicid */
static
inline
int
cpu_to_logical_apicid
(
int
cpu
)
{
return
(
int
)
cpu_2_logical_apicid
[
cpu
];
}
static
inline
int
mpc_apic_id
(
struct
mpc_config_processor
*
m
,
int
quad
)
static
inline
int
mpc_apic_id
(
struct
mpc_config_processor
*
m
,
int
quad
)
{
{
printk
(
"Processor #%d %ld:%ld APIC version %d
\n
"
,
printk
(
"Processor #%d %ld:%ld APIC version %d
\n
"
,
...
...
include/asm-i386/mach-default/mach_apic.h
View file @
af9df9e3
...
@@ -12,8 +12,12 @@
...
@@ -12,8 +12,12 @@
#define no_balance_irq (0)
#define no_balance_irq (0)
#define esr_disable (0)
#define esr_disable (0)
#define INT_DELIVERY_MODE dest_LowestPrio
#define INT_DEST_MODE 1
/* logical delivery broadcast to all procs */
#define APIC_BROADCAST_ID 0x0F
#define APIC_BROADCAST_ID 0x0F
#define check_apicid_used(bitmap, apicid) (bitmap & (1 << apicid))
#define check_apicid_used(bitmap, apicid) (bitmap & (1 << apicid))
#define check_apicid_present(bit) (phys_cpu_present_map & (1 << bit))
static
inline
int
apic_id_registered
(
void
)
static
inline
int
apic_id_registered
(
void
)
{
{
...
@@ -59,6 +63,12 @@ static inline int apicid_to_node(int logical_apicid)
...
@@ -59,6 +63,12 @@ static inline int apicid_to_node(int logical_apicid)
return
0
;
return
0
;
}
}
/* Mapping from cpu number to logical apicid */
static
inline
int
cpu_to_logical_apicid
(
int
cpu
)
{
return
1
<<
cpu
;
}
static
inline
int
cpu_present_to_apicid
(
int
mps_cpu
)
static
inline
int
cpu_present_to_apicid
(
int
mps_cpu
)
{
{
return
mps_cpu
;
return
mps_cpu
;
...
...
include/asm-i386/mach-default/mach_mpparse.h
View file @
af9df9e3
...
@@ -17,4 +17,10 @@ static inline void mps_oem_check(struct mp_config_table *mpc, char *oem,
...
@@ -17,4 +17,10 @@ static inline void mps_oem_check(struct mp_config_table *mpc, char *oem,
{
{
}
}
/* Hook from generic ACPI tables.c */
static
inline
void
acpi_madt_oem_check
(
char
*
oem_id
,
char
*
oem_table_id
)
{
}
#endif
/* __ASM_MACH_MPPARSE_H */
#endif
/* __ASM_MACH_MPPARSE_H */
include/asm-i386/mach-numaq/mach_apic.h
View file @
af9df9e3
...
@@ -8,8 +8,12 @@
...
@@ -8,8 +8,12 @@
#define no_balance_irq (1)
#define no_balance_irq (1)
#define esr_disable (1)
#define esr_disable (1)
#define INT_DELIVERY_MODE dest_LowestPrio
#define INT_DEST_MODE 0
/* physical delivery on LOCAL quad */
#define APIC_BROADCAST_ID 0x0F
#define APIC_BROADCAST_ID 0x0F
#define check_apicid_used(bitmap, apicid) ((bitmap) & (1 << (apicid)))
#define check_apicid_used(bitmap, apicid) ((bitmap) & (1 << (apicid)))
#define check_apicid_present(bit) (phys_cpu_present_map & (1 << bit))
static
inline
int
apic_id_registered
(
void
)
static
inline
int
apic_id_registered
(
void
)
{
{
...
@@ -42,6 +46,13 @@ static inline ulong ioapic_phys_id_map(ulong phys_map)
...
@@ -42,6 +46,13 @@ static inline ulong ioapic_phys_id_map(ulong phys_map)
return
0xf
;
return
0xf
;
}
}
/* Mapping from cpu number to logical apicid */
extern
volatile
u8
cpu_2_logical_apicid
[];
static
inline
int
cpu_to_logical_apicid
(
int
cpu
)
{
return
(
int
)
cpu_2_logical_apicid
[
cpu
];
}
static
inline
int
cpu_present_to_apicid
(
int
mps_cpu
)
static
inline
int
cpu_present_to_apicid
(
int
mps_cpu
)
{
{
return
(
((
mps_cpu
/
4
)
*
16
)
+
(
1
<<
(
mps_cpu
%
4
))
);
return
(
((
mps_cpu
/
4
)
*
16
)
+
(
1
<<
(
mps_cpu
%
4
))
);
...
...
include/asm-i386/mach-numaq/mach_mpparse.h
View file @
af9df9e3
...
@@ -34,4 +34,9 @@ static inline void mps_oem_check(struct mp_config_table *mpc, char *oem,
...
@@ -34,4 +34,9 @@ static inline void mps_oem_check(struct mp_config_table *mpc, char *oem,
mpc
->
mpc_oemsize
);
mpc
->
mpc_oemsize
);
}
}
/* Hook from generic ACPI tables.c */
static
inline
void
acpi_madt_oem_check
(
char
*
oem_id
,
char
*
oem_table_id
)
{
}
#endif
/* __ASM_MACH_MPPARSE_H */
#endif
/* __ASM_MACH_MPPARSE_H */
include/asm-i386/mach-summit/mach_apic.h
View file @
af9df9e3
...
@@ -4,6 +4,7 @@
...
@@ -4,6 +4,7 @@
extern
int
x86_summit
;
extern
int
x86_summit
;
#define esr_disable (1)
#define esr_disable (1)
#define no_balance_irq (0)
#define XAPIC_DEST_CPUS_MASK 0x0Fu
#define XAPIC_DEST_CPUS_MASK 0x0Fu
#define XAPIC_DEST_CLUSTER_MASK 0xF0u
#define XAPIC_DEST_CLUSTER_MASK 0xF0u
...
@@ -11,22 +12,43 @@ extern int x86_summit;
...
@@ -11,22 +12,43 @@ extern int x86_summit;
#define xapic_phys_to_log_apicid(phys_apic) ( (1ul << ((phys_apic) & 0x3)) |\
#define xapic_phys_to_log_apicid(phys_apic) ( (1ul << ((phys_apic) & 0x3)) |\
((phys_apic) & XAPIC_DEST_CLUSTER_MASK) )
((phys_apic) & XAPIC_DEST_CLUSTER_MASK) )
static
inline
unsigned
long
calculate_ldr
(
unsigned
long
old
)
#define APIC_DFR_VALUE (x86_summit ? APIC_DFR_CLUSTER : APIC_DFR_FLAT)
#define TARGET_CPUS (x86_summit ? XAPIC_DEST_CPUS_MASK : cpu_online_map)
#define INT_DELIVERY_MODE dest_Fixed
#define INT_DEST_MODE 1
/* logical delivery broadcast to all procs */
#define APIC_BROADCAST_ID (x86_summit ? 0xFF : 0x0F)
#define check_apicid_used(bitmap, apicid) (0)
/* we don't use the phys_cpu_present_map to indicate apicid presence */
#define check_apicid_present(bit) (1)
extern
u8
bios_cpu_apicid
[];
static
inline
void
init_apic_ldr
(
void
)
{
{
unsigned
long
id
;
unsigned
long
val
,
id
;
if
(
x86_summit
)
if
(
x86_summit
)
id
=
xapic_phys_to_log_apicid
(
hard_smp_processor_id
());
id
=
xapic_phys_to_log_apicid
(
hard_smp_processor_id
());
else
else
id
=
1UL
<<
smp_processor_id
();
id
=
1UL
<<
smp_processor_id
();
return
((
old
&
~
APIC_LDR_MASK
)
|
SET_APIC_LOGICAL_ID
(
id
));
apic_write_around
(
APIC_DFR
,
APIC_DFR_VALUE
);
val
=
apic_read
(
APIC_LDR
)
&
~
APIC_LDR_MASK
;
val
|=
SET_APIC_LOGICAL_ID
(
id
);
apic_write_around
(
APIC_LDR
,
val
);
}
}
#define APIC_DFR_VALUE (x86_summit ? APIC_DFR_CLUSTER : APIC_DFR_FLAT)
static
inline
int
multi_timer_check
(
int
apic
,
int
irq
)
#define TARGET_CPUS (x86_summit ? XAPIC_DEST_CPUS_MASK : cpu_online_map)
{
return
0
;
}
#define APIC_BROADCAST_ID (x86_summit ? 0xFF : 0x0F)
static
inline
int
apic_id_registered
(
void
)
#define check_apicid_used(bitmap, apicid) (0)
{
return
1
;
}
static
inline
void
clustered_apic_check
(
void
)
static
inline
void
clustered_apic_check
(
void
)
{
{
...
@@ -39,10 +61,17 @@ static inline int apicid_to_node(int logical_apicid)
...
@@ -39,10 +61,17 @@ static inline int apicid_to_node(int logical_apicid)
return
(
logical_apicid
>>
5
);
/* 2 clusterids per CEC */
return
(
logical_apicid
>>
5
);
/* 2 clusterids per CEC */
}
}
/* Mapping from cpu number to logical apicid */
extern
volatile
u8
cpu_2_logical_apicid
[];
static
inline
int
cpu_to_logical_apicid
(
int
cpu
)
{
return
(
int
)
cpu_2_logical_apicid
[
cpu
];
}
static
inline
int
cpu_present_to_apicid
(
int
mps_cpu
)
static
inline
int
cpu_present_to_apicid
(
int
mps_cpu
)
{
{
if
(
x86_summit
)
if
(
x86_summit
)
return
(
int
)
raw_phys
_apicid
[
mps_cpu
];
return
(
int
)
bios_cpu
_apicid
[
mps_cpu
];
else
else
return
mps_cpu
;
return
mps_cpu
;
}
}
...
@@ -53,14 +82,24 @@ static inline ulong ioapic_phys_id_map(ulong phys_map)
...
@@ -53,14 +82,24 @@ static inline ulong ioapic_phys_id_map(ulong phys_map)
return
(
x86_summit
?
0x0F
:
phys_map
);
return
(
x86_summit
?
0x0F
:
phys_map
);
}
}
static
inline
unsigned
long
apicid_to_
phys_
cpu_present
(
int
apicid
)
static
inline
unsigned
long
apicid_to_cpu_present
(
int
apicid
)
{
{
if
(
x86_summit
)
if
(
x86_summit
)
return
(
1ul
<<
(((
apicid
>>
4
)
<<
2
)
|
(
apicid
&
0x3
)))
;
return
1
;
else
else
return
(
1ul
<<
apicid
);
return
(
1ul
<<
apicid
);
}
}
static
inline
int
mpc_apic_id
(
struct
mpc_config_processor
*
m
,
int
quad
)
{
printk
(
"Processor #%d %ld:%ld APIC version %d
\n
"
,
m
->
mpc_apicid
,
(
m
->
mpc_cpufeature
&
CPU_FAMILY_MASK
)
>>
8
,
(
m
->
mpc_cpufeature
&
CPU_MODEL_MASK
)
>>
4
,
m
->
mpc_apicver
);
return
(
m
->
mpc_apicid
);
}
static
inline
void
setup_portio_remap
(
void
)
static
inline
void
setup_portio_remap
(
void
)
{
{
}
}
...
...
include/asm-i386/mach-summit/mach_mpparse.h
View file @
af9df9e3
...
@@ -15,8 +15,16 @@ static inline void mpc_oem_pci_bus(struct mpc_config_bus *m,
...
@@ -15,8 +15,16 @@ static inline void mpc_oem_pci_bus(struct mpc_config_bus *m,
static
inline
void
mps_oem_check
(
struct
mp_config_table
*
mpc
,
char
*
oem
,
static
inline
void
mps_oem_check
(
struct
mp_config_table
*
mpc
,
char
*
oem
,
char
*
productid
)
char
*
productid
)
{
{
if
(
!
strncmp
(
oem
,
"IBM ENSW"
,
8
)
&&
!
strncmp
(
str
,
"VIGIL SMP"
,
9
))
if
(
!
strncmp
(
oem
,
"IBM ENSW"
,
8
)
&&
(
!
strncmp
(
productid
,
"VIGIL SMP"
,
9
)
||
!
strncmp
(
productid
,
"RUTHLESS SMP"
,
12
)))
x86_summit
=
1
;
x86_summit
=
1
;
}
}
/* Hook from generic ACPI tables.c */
static
inline
void
acpi_madt_oem_check
(
char
*
oem_id
,
char
*
oem_table_id
)
{
if
(
!
strncmp
(
oem_id
,
"IBM"
,
3
)
&&
!
strncmp
(
oem_table_id
,
"SERVIGIL"
,
8
))
x86_summit
=
1
;
}
#endif
/* __ASM_MACH_MPPARSE_H */
#endif
/* __ASM_MACH_MPPARSE_H */
include/asm-i386/module.h
View file @
af9df9e3
#ifndef _ASM_I386_MODULE_H
#ifndef _ASM_I386_MODULE_H
#define _ASM_I386_MODULE_H
#define _ASM_I386_MODULE_H
/* x86 is simple */
/* x86 is simple */
struct
mod_arch_specific
struct
mod_arch_specific
{
{
...
@@ -8,4 +9,47 @@ struct mod_arch_specific
...
@@ -8,4 +9,47 @@ struct mod_arch_specific
#define Elf_Shdr Elf32_Shdr
#define Elf_Shdr Elf32_Shdr
#define Elf_Sym Elf32_Sym
#define Elf_Sym Elf32_Sym
#define Elf_Ehdr Elf32_Ehdr
#define Elf_Ehdr Elf32_Ehdr
#ifdef CONFIG_M386
#define MODULE_PROC_FAMILY "386 "
#elif CONFIG_M486
#define MODULE_PROC_FAMILY "486 "
#elif CONFIG_M586
#define MODULE_PROC_FAMILY "586 "
#elif CONFIG_M586TSC
#define MODULE_PROC_FAMILY "586TSC "
#elif CONFIG_M586MMX
#define MODULE_PROC_FAMILY "586MMX "
#elif CONFIG_M686
#define MODULE_PROC_FAMILY "686 "
#elif CONFIG_MPENTIUMII
#define MODULE_PROC_FAMILY "PENTIUMII "
#elif CONFIG_MPENTIUMIII
#define MODULE_PROC_FAMILY "PENTIUMIII "
#elif CONFIG_MPENTIUM4
#define MODULE_PROC_FAMILY "PENTIUM4 "
#elif CONFIG_MK6
#define MODULE_PROC_FAMILY "K6 "
#elif CONFIG_MK7
#define MODULE_PROC_FAMILY "K7 "
#elif CONFIG_MK8
#define MODULE_PROC_FAMILY "K8 "
#elif CONFIG_MELAN
#define MODULE_PROC_FAMILY "ELAN "
#elif CONFIG_MCRUSOE
#define MODULE_PROC_FAMILY "CRUSOE "
#elif CONFIG_MWINCHIPC6
#define MODULE_PROC_FAMILY "WINCHIPC6 "
#elif CONFIG_MWINCHIP2
#define MODULE_PROC_FAMILY "WINCHIP2 "
#elif CONFIG_MWINCHIP3D
#define MODULE_PROC_FAMILY "WINCHIP3D "
#elif CONFIG_MCYRIXIII
#define MODULE_PROC_FAMILY "CYRIXIII "
#else
#error unknown processor family
#endif
#define MODULE_ARCH_VERMAGIC MODULE_PROC_FAMILY
#endif
/* _ASM_I386_MODULE_H */
#endif
/* _ASM_I386_MODULE_H */
include/asm-i386/mpspec.h
View file @
af9df9e3
...
@@ -16,11 +16,11 @@
...
@@ -16,11 +16,11 @@
/*
/*
* a maximum of 16 APICs with the current APIC ID architecture.
* a maximum of 16 APICs with the current APIC ID architecture.
*/
*/
#if
def CONFIG_X86_NUMA
#if
defined(CONFIG_X86_NUMAQ) || defined (CONFIG_X86_SUMMIT)
#define MAX_APICS 256
#define MAX_APICS 256
#else
/* !CONFIG_X86_NUMA */
#else
#define MAX_APICS 16
#define MAX_APICS 16
#endif
/* CONFIG_X86_NUMA */
#endif
#define MAX_MPC_ENTRY 1024
#define MAX_MPC_ENTRY 1024
...
...
include/asm-i386/smp.h
View file @
af9df9e3
...
@@ -22,12 +22,6 @@
...
@@ -22,12 +22,6 @@
#endif
#endif
#endif
#endif
#ifdef CONFIG_X86_NUMAQ
#define INT_DELIVERY_MODE 0
/* physical delivery on LOCAL quad */
#else
#define INT_DELIVERY_MODE 1
/* logical delivery broadcast to all procs */
#endif
#define BAD_APICID 0xFFu
#define BAD_APICID 0xFFu
#ifdef CONFIG_SMP
#ifdef CONFIG_SMP
#ifndef __ASSEMBLY__
#ifndef __ASSEMBLY__
...
@@ -82,12 +76,6 @@ static inline int num_booting_cpus(void)
...
@@ -82,12 +76,6 @@ static inline int num_booting_cpus(void)
return
hweight32
(
cpu_callout_map
);
return
hweight32
(
cpu_callout_map
);
}
}
/* Mapping from cpu number to logical apicid */
extern
volatile
u8
cpu_2_logical_apicid
[];
static
inline
int
cpu_to_logical_apicid
(
int
cpu
)
{
return
(
int
)
cpu_2_logical_apicid
[
cpu
];
}
extern
void
map_cpu_to_logical_apicid
(
void
);
extern
void
map_cpu_to_logical_apicid
(
void
);
extern
void
unmap_cpu_to_logical_apicid
(
int
cpu
);
extern
void
unmap_cpu_to_logical_apicid
(
int
cpu
);
...
...
include/linux/cpufreq.h
View file @
af9df9e3
...
@@ -130,7 +130,7 @@ int cpufreq_register_driver(struct cpufreq_driver *driver_data);
...
@@ -130,7 +130,7 @@ int cpufreq_register_driver(struct cpufreq_driver *driver_data);
int
cpufreq_unregister_driver
(
struct
cpufreq_driver
*
driver_data
);
int
cpufreq_unregister_driver
(
struct
cpufreq_driver
*
driver_data
);
/* deprecated */
/* deprecated */
#define cpufreq_register(x) cpufreq_register_driver(x)
#define cpufreq_register(x) cpufreq_register_driver(x)
#define cpufreq_unregister(
x
) cpufreq_unregister_driver(NULL)
#define cpufreq_unregister() cpufreq_unregister_driver(NULL)
void
cpufreq_notify_transition
(
struct
cpufreq_freqs
*
freqs
,
unsigned
int
state
);
void
cpufreq_notify_transition
(
struct
cpufreq_freqs
*
freqs
,
unsigned
int
state
);
...
...
include/linux/fs.h
View file @
af9df9e3
...
@@ -992,8 +992,6 @@ extern struct vfsmount *kern_mount(struct file_system_type *);
...
@@ -992,8 +992,6 @@ extern struct vfsmount *kern_mount(struct file_system_type *);
extern
int
may_umount
(
struct
vfsmount
*
);
extern
int
may_umount
(
struct
vfsmount
*
);
extern
long
do_mount
(
char
*
,
char
*
,
char
*
,
unsigned
long
,
void
*
);
extern
long
do_mount
(
char
*
,
char
*
,
char
*
,
unsigned
long
,
void
*
);
#define kern_umount mntput
extern
int
vfs_statfs
(
struct
super_block
*
,
struct
statfs
*
);
extern
int
vfs_statfs
(
struct
super_block
*
,
struct
statfs
*
);
/* Return value for VFS lock functions - tells locks.c to lock conventionally
/* Return value for VFS lock functions - tells locks.c to lock conventionally
...
...
include/linux/i2c.h
View file @
af9df9e3
...
@@ -484,14 +484,6 @@ union i2c_smbus_data {
...
@@ -484,14 +484,6 @@ union i2c_smbus_data {
#define I2C_MAJOR 89
/* Device major number */
#define I2C_MAJOR 89
/* Device major number */
# ifndef NULL
# define NULL ( (void *) 0 )
# endif
# ifndef ENODEV
# include <asm/errno.h>
# endif
/* These defines are used for probing i2c client addresses */
/* These defines are used for probing i2c client addresses */
/* Default fill of many variables */
/* Default fill of many variables */
#define I2C_CLIENT_DEFAULTS {I2C_CLIENT_END, I2C_CLIENT_END, I2C_CLIENT_END, \
#define I2C_CLIENT_DEFAULTS {I2C_CLIENT_END, I2C_CLIENT_END, I2C_CLIENT_END, \
...
...
init/Makefile
View file @
af9df9e3
...
@@ -2,7 +2,8 @@
...
@@ -2,7 +2,8 @@
# Makefile for the linux kernel.
# Makefile for the linux kernel.
#
#
obj-y
:=
main.o version.o do_mounts.o initramfs.o
obj-y
:=
main.o version.o do_mounts.o initramfs.o
obj-$(CONFIG_MODULES)
+=
vermagic.o
# files to be removed upon make clean
# files to be removed upon make clean
clean-files
:=
../include/linux/compile.h
clean-files
:=
../include/linux/compile.h
...
...
init/vermagic.c
0 → 100644
View file @
af9df9e3
#include <linux/version.h>
#include <linux/module.h>
/* Simply sanity version stamp for modules. */
#ifdef CONFIG_SMP
#define MODULE_VERMAGIC_SMP "SMP "
#else
#define MODULE_VERMAGIC_SMP ""
#endif
#ifdef CONFIG_PREEMPT
#define MODULE_VERMAGIC_PREEMPT "preempt "
#else
#define MODULE_VERMAGIC_PREEMPT ""
#endif
#ifndef MODULE_ARCH_VERMAGIC
#define MODULE_ARCH_VERMAGIC ""
#endif
const
char
vermagic
[]
__attribute__
((
section
(
"__vermagic"
)))
=
UTS_RELEASE
" "
MODULE_VERMAGIC_SMP
MODULE_VERMAGIC_PREEMPT
MODULE_ARCH_VERMAGIC
"gcc-"
__stringify
(
__GNUC__
)
"."
__stringify
(
__GNUC_MINOR__
);
kernel/module.c
View file @
af9df9e3
...
@@ -963,6 +963,9 @@ static void set_license(struct module *mod, Elf_Shdr *sechdrs, int licenseidx)
...
@@ -963,6 +963,9 @@ static void set_license(struct module *mod, Elf_Shdr *sechdrs, int licenseidx)
}
}
}
}
/* From init/vermagic.o */
extern
char
vermagic
[];
/* Allocate and load the module: note that size of section 0 is always
/* Allocate and load the module: note that size of section 0 is always
zero, and we rely on this for optional sections. */
zero, and we rely on this for optional sections. */
static
struct
module
*
load_module
(
void
*
umod
,
static
struct
module
*
load_module
(
void
*
umod
,
...
@@ -973,7 +976,7 @@ static struct module *load_module(void *umod,
...
@@ -973,7 +976,7 @@ static struct module *load_module(void *umod,
Elf_Shdr
*
sechdrs
;
Elf_Shdr
*
sechdrs
;
char
*
secstrings
,
*
args
;
char
*
secstrings
,
*
args
;
unsigned
int
i
,
symindex
,
exportindex
,
strindex
,
setupindex
,
exindex
,
unsigned
int
i
,
symindex
,
exportindex
,
strindex
,
setupindex
,
exindex
,
modindex
,
obsparmindex
,
licenseindex
,
gplindex
;
modindex
,
obsparmindex
,
licenseindex
,
gplindex
,
vmagindex
;
long
arglen
;
long
arglen
;
struct
module
*
mod
;
struct
module
*
mod
;
long
err
=
0
;
long
err
=
0
;
...
@@ -1012,7 +1015,7 @@ static struct module *load_module(void *umod,
...
@@ -1012,7 +1015,7 @@ static struct module *load_module(void *umod,
exportindex
=
setupindex
=
obsparmindex
=
gplindex
=
licenseindex
=
0
;
exportindex
=
setupindex
=
obsparmindex
=
gplindex
=
licenseindex
=
0
;
/* And these should exist, but gcc whinges if we don't init them */
/* And these should exist, but gcc whinges if we don't init them */
symindex
=
strindex
=
exindex
=
modindex
=
0
;
symindex
=
strindex
=
exindex
=
modindex
=
vmagindex
=
0
;
/* Find where important sections are */
/* Find where important sections are */
for
(
i
=
1
;
i
<
hdr
->
e_shnum
;
i
++
)
{
for
(
i
=
1
;
i
<
hdr
->
e_shnum
;
i
++
)
{
...
@@ -1062,6 +1065,11 @@ static struct module *load_module(void *umod,
...
@@ -1062,6 +1065,11 @@ static struct module *load_module(void *umod,
/* EXPORT_SYMBOL_GPL() */
/* EXPORT_SYMBOL_GPL() */
DEBUGP
(
"GPL symbols found in section %u
\n
"
,
i
);
DEBUGP
(
"GPL symbols found in section %u
\n
"
,
i
);
gplindex
=
i
;
gplindex
=
i
;
}
else
if
(
strcmp
(
secstrings
+
sechdrs
[
i
].
sh_name
,
"__vermagic"
)
==
0
)
{
/* Version magic. */
DEBUGP
(
"Version magic found in section %u
\n
"
,
i
);
vmagindex
=
i
;
}
}
#ifdef CONFIG_KALLSYMS
#ifdef CONFIG_KALLSYMS
/* symbol and string tables for decoding later. */
/* symbol and string tables for decoding later. */
...
@@ -1082,6 +1090,18 @@ static struct module *load_module(void *umod,
...
@@ -1082,6 +1090,18 @@ static struct module *load_module(void *umod,
}
}
mod
=
(
void
*
)
sechdrs
[
modindex
].
sh_addr
;
mod
=
(
void
*
)
sechdrs
[
modindex
].
sh_addr
;
/* This is allowed: modprobe --force will strip it. */
if
(
!
vmagindex
)
{
tainted
|=
TAINT_FORCED_MODULE
;
printk
(
KERN_WARNING
"%s: no version magic, tainting kernel.
\n
"
,
mod
->
name
);
}
else
if
(
strcmp
((
char
*
)
sechdrs
[
vmagindex
].
sh_addr
,
vermagic
)
!=
0
)
{
printk
(
KERN_ERR
"%s: version magic '%s' should be '%s'
\n
"
,
mod
->
name
,
(
char
*
)
sechdrs
[
vmagindex
].
sh_addr
,
vermagic
);
err
=
-
ENOEXEC
;
goto
free_hdr
;
}
/* Now copy in args */
/* Now copy in args */
arglen
=
strlen_user
(
uargs
);
arglen
=
strlen_user
(
uargs
);
if
(
!
arglen
)
{
if
(
!
arglen
)
{
...
...
scripts/Makefile.build
View file @
af9df9e3
...
@@ -176,10 +176,15 @@ quiet_cmd_link_multi-y = LD $@
...
@@ -176,10 +176,15 @@ quiet_cmd_link_multi-y = LD $@
cmd_link_multi-y
=
$(LD)
$(LDFLAGS)
$(EXTRA_LDFLAGS)
-r
-o
$@
$(
filter
$(
addprefix
$(obj)
/,
$
(
$(
subst
$(obj)
/,,
$
(
@:.o
=
-objs
)))
$
(
$(
subst
$(obj)
/,,
$
(
@:.o
=
-y
))))
,
$^
)
cmd_link_multi-y
=
$(LD)
$(LDFLAGS)
$(EXTRA_LDFLAGS)
-r
-o
$@
$(
filter
$(
addprefix
$(obj)
/,
$
(
$(
subst
$(obj)
/,,
$
(
@:.o
=
-objs
)))
$
(
$(
subst
$(obj)
/,,
$
(
@:.o
=
-y
))))
,
$^
)
quiet_cmd_link_multi-m
=
LD
[
M]
$@
quiet_cmd_link_multi-m
=
LD
[
M]
$@
cmd_link_multi-m
=
$(LD)
$(LDFLAGS)
$(EXTRA_LDFLAGS)
$(LDFLAGS_MODULE)
-o
$@
$(
filter
$(
addprefix
$(obj)
/,
$
(
$(
subst
$(obj)
/,,
$
(
@:.ko
=
-objs
)))
$
(
$(
subst
$(obj)
/,,
$
(
@:.ko
=
-y
))))
,
$^
)
cmd_link_multi-m
=
$(LD)
$(LDFLAGS)
$(EXTRA_LDFLAGS)
$(LDFLAGS_MODULE)
-o
$@
$(
filter
$(
addprefix
$(obj)
/,
$
(
$(
subst
$(obj)
/,,
$
(
@:.ko
=
-objs
)))
$
(
$(
subst
$(obj)
/,,
$
(
@:.ko
=
-y
))))
,
$^
)
init/vermagic.o
quiet_cmd_link_single-m
=
LD
[
M]
$@
quiet_cmd_link_single-m
=
LD
[
M]
$@
cmd_link_single-m
=
$(LD)
$(LDFLAGS)
$(EXTRA_LDFLAGS)
$(LDFLAGS_MODULE)
-o
$@
$<
cmd_link_single-m
=
$(LD)
$(LDFLAGS)
$(EXTRA_LDFLAGS)
$(LDFLAGS_MODULE)
-o
$@
$<
init/vermagic.o
# Don't rebuilt vermagic.o unless we actually are in the init/ dir
ifneq
($(obj),init)
init/vermagic.o
:
;
endif
# We would rather have a list of rules like
# We would rather have a list of rules like
# foo.o: $(foo-objs)
# foo.o: $(foo-objs)
...
@@ -188,10 +193,10 @@ cmd_link_single-m = $(LD) $(LDFLAGS) $(EXTRA_LDFLAGS) $(LDFLAGS_MODULE) -o $@ $<
...
@@ -188,10 +193,10 @@ cmd_link_single-m = $(LD) $(LDFLAGS) $(EXTRA_LDFLAGS) $(LDFLAGS_MODULE) -o $@ $<
$(multi-used-y)
:
%.o: $(multi-objs-y) FORCE
$(multi-used-y)
:
%.o: $(multi-objs-y) FORCE
$(
call
if_changed,link_multi-y
)
$(
call
if_changed,link_multi-y
)
$(multi-used-m
:
.o=.ko) : %.ko: $(multi-objs-m) FORCE
$(multi-used-m
:
.o=.ko) : %.ko: $(multi-objs-m)
init/vermagic.o
FORCE
$(
call
if_changed,link_multi-m
)
$(
call
if_changed,link_multi-m
)
$(single-used-m
:
.o=.ko) : %.ko: %.o FORCE
$(single-used-m
:
.o=.ko) : %.ko: %.o
init/vermagic.o
FORCE
$(
call
if_changed,link_single-m
)
$(
call
if_changed,link_single-m
)
targets
+=
$
(
multi-used-y
)
$
(
multi-used-m:.o
=
.ko
)
$
(
single-used-m:.o
=
.ko
)
targets
+=
$
(
multi-used-y
)
$
(
multi-used-m:.o
=
.ko
)
$
(
single-used-m:.o
=
.ko
)
...
...
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