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
d617a16f
Commit
d617a16f
authored
Nov 23, 2007
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Import 2.3.12pre2
parent
1b8b0760
Changes
55
Hide whitespace changes
Inline
Side-by-side
Showing
55 changed files
with
108 additions
and
93 deletions
+108
-93
Makefile
Makefile
+1
-1
arch/alpha/config.in
arch/alpha/config.in
+1
-1
arch/arm/kernel/setup.c
arch/arm/kernel/setup.c
+4
-4
arch/arm/mm/fault-common.c
arch/arm/mm/fault-common.c
+1
-1
arch/i386/config.in
arch/i386/config.in
+1
-1
arch/i386/kernel/setup.c
arch/i386/kernel/setup.c
+5
-5
arch/i386/math-emu/fpu_entry.c
arch/i386/math-emu/fpu_entry.c
+4
-4
arch/i386/math-emu/fpu_system.h
arch/i386/math-emu/fpu_system.h
+1
-1
arch/m68k/atari/stram.c
arch/m68k/atari/stram.c
+1
-1
arch/m68k/kernel/process.c
arch/m68k/kernel/process.c
+1
-1
arch/m68k/kernel/setup.c
arch/m68k/kernel/setup.c
+4
-4
arch/m68k/mm/fault.c
arch/m68k/mm/fault.c
+1
-1
arch/mips/config.in
arch/mips/config.in
+1
-1
arch/mips/mm/fault.c
arch/mips/mm/fault.c
+1
-1
arch/ppc/config.in
arch/ppc/config.in
+1
-1
arch/ppc/kernel/apus_setup.c
arch/ppc/kernel/apus_setup.c
+2
-2
arch/ppc/kernel/idle.c
arch/ppc/kernel/idle.c
+3
-3
arch/ppc/kernel/setup.c
arch/ppc/kernel/setup.c
+4
-4
arch/ppc/kernel/smp.c
arch/ppc/kernel/smp.c
+1
-1
arch/ppc/mm/fault.c
arch/ppc/mm/fault.c
+1
-1
arch/ppc/mm/init.c
arch/ppc/mm/init.c
+2
-2
arch/sparc/ap1000/apmmu.c
arch/sparc/ap1000/apmmu.c
+6
-6
arch/sparc/kernel/setup.c
arch/sparc/kernel/setup.c
+4
-4
arch/sparc/kernel/sun4d_smp.c
arch/sparc/kernel/sun4d_smp.c
+1
-1
arch/sparc/kernel/sun4m_smp.c
arch/sparc/kernel/sun4m_smp.c
+1
-1
arch/sparc/mm/fault.c
arch/sparc/mm/fault.c
+1
-1
arch/sparc/mm/srmmu.c
arch/sparc/mm/srmmu.c
+6
-6
arch/sparc/mm/sun4c.c
arch/sparc/mm/sun4c.c
+1
-1
arch/sparc64/config.in
arch/sparc64/config.in
+1
-1
arch/sparc64/kernel/setup.c
arch/sparc64/kernel/setup.c
+4
-4
arch/sparc64/mm/fault.c
arch/sparc64/mm/fault.c
+1
-1
drivers/Makefile
drivers/Makefile
+1
-1
drivers/char/ppdev.c
drivers/char/ppdev.c
+1
-1
drivers/parport/BUGS-parport
drivers/parport/BUGS-parport
+0
-0
drivers/parport/Config.in
drivers/parport/Config.in
+0
-0
drivers/parport/Makefile
drivers/parport/Makefile
+8
-9
drivers/parport/TODO-parport
drivers/parport/TODO-parport
+0
-0
drivers/parport/daisy.c
drivers/parport/daisy.c
+0
-0
drivers/parport/ieee1284.c
drivers/parport/ieee1284.c
+0
-0
drivers/parport/ieee1284_ops.c
drivers/parport/ieee1284_ops.c
+0
-0
drivers/parport/init.c
drivers/parport/init.c
+0
-0
drivers/parport/multiface.h
drivers/parport/multiface.h
+0
-0
drivers/parport/parport_amiga.c
drivers/parport/parport_amiga.c
+0
-0
drivers/parport/parport_arc.c
drivers/parport/parport_arc.c
+0
-0
drivers/parport/parport_atari.c
drivers/parport/parport_atari.c
+0
-0
drivers/parport/parport_ax.c
drivers/parport/parport_ax.c
+0
-0
drivers/parport/parport_mfc3.c
drivers/parport/parport_mfc3.c
+0
-0
drivers/parport/parport_pc.c
drivers/parport/parport_pc.c
+0
-0
drivers/parport/probe.c
drivers/parport/probe.c
+0
-0
drivers/parport/procfs.c
drivers/parport/procfs.c
+0
-0
drivers/parport/share.c
drivers/parport/share.c
+0
-0
fs/proc/array.c
fs/proc/array.c
+4
-2
fs/proc/link.c
fs/proc/link.c
+3
-0
include/asm-i386/semaphore.h
include/asm-i386/semaphore.h
+16
-12
lib/vsprintf.c
lib/vsprintf.c
+8
-1
No files found.
Makefile
View file @
d617a16f
...
...
@@ -111,7 +111,7 @@ FILESYSTEMS =fs/filesystems.a
NETWORKS
=
net/network.a
DRIVERS
=
drivers/block/block.a
\
drivers/char/char.a
\
drivers/
misc/misc
.a
drivers/
parport/parport
.a
LIBS
=
$(TOPDIR)
/lib/lib.a
SUBDIRS
=
kernel drivers mm fs net ipc lib
...
...
arch/alpha/config.in
View file @
d617a16f
...
...
@@ -188,7 +188,7 @@ tristate 'Kernel support for a.out (ECOFF) binaries' CONFIG_BINFMT_AOUT
tristate 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF
tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
tristate 'Kernel support for Linux/Intel ELF binaries' CONFIG_BINFMT_EM86
source drivers/
misc
/Config.in
source drivers/
parpor
/Config.in
endmenu
source drivers/pnp/Config.in
...
...
arch/arm/kernel/setup.c
View file @
d617a16f
...
...
@@ -297,10 +297,10 @@ setup_arch(char **cmdline_p, unsigned long * memory_start_p, unsigned long * mem
setup_processor
();
init_
task
.
mm
->
start_code
=
TASK_SIZE
;
init_
task
.
mm
->
end_code
=
TASK_SIZE
+
(
unsigned
long
)
&
_etext
;
init_
task
.
mm
->
end_data
=
TASK_SIZE
+
(
unsigned
long
)
&
_edata
;
init_
task
.
mm
->
brk
=
TASK_SIZE
+
(
unsigned
long
)
&
_end
;
init_
mm
.
start_code
=
TASK_SIZE
;
init_
mm
.
end_code
=
TASK_SIZE
+
(
unsigned
long
)
&
_etext
;
init_
mm
.
end_data
=
TASK_SIZE
+
(
unsigned
long
)
&
_edata
;
init_
mm
.
brk
=
TASK_SIZE
+
(
unsigned
long
)
&
_end
;
/*
* Add your machine dependencies here
...
...
arch/arm/mm/fault-common.c
View file @
d617a16f
...
...
@@ -106,7 +106,7 @@ static void do_page_fault(unsigned long addr, int mode, struct pt_regs *regs)
* If we're in an interrupt or have no user
* context, we must not take the fault..
*/
if
(
in_interrupt
()
||
mm
==
&
init_
mm
)
if
(
in_interrupt
()
||
!
mm
)
goto
no_context
;
down
(
&
mm
->
mmap_sem
);
...
...
arch/i386/config.in
View file @
d617a16f
...
...
@@ -92,7 +92,7 @@ tristate 'Kernel support for a.out binaries' CONFIG_BINFMT_AOUT
tristate 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF
tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
source drivers/
misc
/Config.in
source drivers/
parport
/Config.in
bool 'Advanced Power Management BIOS support' CONFIG_APM
if [ "$CONFIG_APM" = "y" ]; then
...
...
arch/i386/kernel/setup.c
View file @
d617a16f
...
...
@@ -313,10 +313,10 @@ __initfunc(void setup_arch(char **cmdline_p,
if
(
!
MOUNT_ROOT_RDONLY
)
root_mountflags
&=
~
MS_RDONLY
;
memory_start
=
(
unsigned
long
)
&
_end
;
init_
task
.
mm
->
start_code
=
PAGE_OFFSET
;
init_
task
.
mm
->
end_code
=
(
unsigned
long
)
&
_etext
;
init_
task
.
mm
->
end_data
=
(
unsigned
long
)
&
_edata
;
init_
task
.
mm
->
brk
=
(
unsigned
long
)
&
_end
;
init_
mm
.
start_code
=
PAGE_OFFSET
;
init_
mm
.
end_code
=
(
unsigned
long
)
&
_etext
;
init_
mm
.
end_data
=
(
unsigned
long
)
&
_edata
;
init_
mm
.
brk
=
(
unsigned
long
)
&
_end
;
/* Save unparsed command line copy for /proc/cmdline */
memcpy
(
saved_command_line
,
COMMAND_LINE
,
COMMAND_LINE_SIZE
);
...
...
@@ -354,7 +354,7 @@ __initfunc(void setup_arch(char **cmdline_p,
*
to
=
'\0'
;
*
cmdline_p
=
command_line
;
#define VMALLOC_RESERVE (
64 << 20)
/* 64MB for vmalloc
*/
#define VMALLOC_RESERVE (
128 << 20)
/* 128MB for vmalloc and initrd
*/
#define MAXMEM ((unsigned long)(-PAGE_OFFSET-VMALLOC_RESERVE))
if
(
memory_end
>
MAXMEM
)
...
...
arch/i386/math-emu/fpu_entry.c
View file @
d617a16f
...
...
@@ -283,8 +283,8 @@ asmlinkage void math_emulate(long arg)
FPU_EIP
=
FPU_ORIG_EIP
;
/* Point to current FPU instruction. */
RE_ENTRANT_CHECK_OFF
;
current
->
t
ss
.
trap_no
=
16
;
current
->
t
ss
.
error_code
=
0
;
current
->
t
hread
.
trap_no
=
16
;
current
->
t
hread
.
error_code
=
0
;
send_sig
(
SIGFPE
,
current
,
1
);
return
;
}
...
...
@@ -662,8 +662,8 @@ static int valid_prefix(u_char *Byte, u_char **fpu_eip,
void
math_abort
(
struct
info
*
info
,
unsigned
int
signal
)
{
FPU_EIP
=
FPU_ORIG_EIP
;
current
->
t
ss
.
trap_no
=
16
;
current
->
t
ss
.
error_code
=
0
;
current
->
t
hread
.
trap_no
=
16
;
current
->
t
hread
.
error_code
=
0
;
send_sig
(
signal
,
current
,
1
);
RE_ENTRANT_CHECK_OFF
;
__asm__
(
"movl %0,%%esp ; ret"
:
:
"g"
(((
long
)
info
)
-
4
));
...
...
arch/i386/math-emu/fpu_system.h
View file @
d617a16f
...
...
@@ -33,7 +33,7 @@
#define SEG_EXPAND_DOWN(s) (((s).b & ((1 << 11) | (1 << 10))) \
== (1 << 10))
#define I387 (current->t
ss
.i387)
#define I387 (current->t
hread
.i387)
#define FPU_info (I387.soft.info)
#define FPU_CS (*(unsigned short *) &(FPU_info->___cs))
...
...
arch/m68k/atari/stram.c
View file @
d617a16f
...
...
@@ -805,7 +805,7 @@ static void unswap_process(struct mm_struct * mm, unsigned long entry,
/*
* Go through process' page directory.
*/
if
(
!
mm
||
mm
==
&
init_mm
)
if
(
!
mm
)
return
;
for
(
vma
=
mm
->
mmap
;
vma
;
vma
=
vma
->
vm_next
)
{
pgd_t
*
pgd
=
pgd_offset
(
mm
,
vma
->
vm_start
);
...
...
arch/m68k/kernel/process.c
View file @
d617a16f
...
...
@@ -43,7 +43,7 @@ static struct fs_struct init_fs = INIT_FS;
static
struct
file
*
init_fd_array
[
NR_OPEN
]
=
{
NULL
,
};
static
struct
files_struct
init_files
=
INIT_FILES
;
static
struct
signal_struct
init_signals
=
INIT_SIGNALS
;
struct
mm_struct
init_mm
=
INIT_MM
;
struct
mm_struct
init_mm
=
INIT_MM
(
init_mm
)
;
union
task_union
init_task_union
__attribute__
((
section
(
"init_task"
),
aligned
(
2
*
PAGE_SIZE
)))
...
...
arch/m68k/kernel/setup.c
View file @
d617a16f
...
...
@@ -213,10 +213,10 @@ __initfunc(void setup_arch(char **cmdline_p, unsigned long * memory_start_p,
asm
__volatile__
(
"frestore %0"
:
:
"m"
(
zero
));
}
init_
task
.
mm
->
start_code
=
PAGE_OFFSET
;
init_
task
.
mm
->
end_code
=
(
unsigned
long
)
&
_etext
;
init_
task
.
mm
->
end_data
=
(
unsigned
long
)
&
_edata
;
init_
task
.
mm
->
brk
=
(
unsigned
long
)
&
_end
;
init_
mm
.
start_code
=
PAGE_OFFSET
;
init_
mm
.
end_code
=
(
unsigned
long
)
&
_etext
;
init_
mm
.
end_data
=
(
unsigned
long
)
&
_edata
;
init_
mm
.
brk
=
(
unsigned
long
)
&
_end
;
*
cmdline_p
=
m68k_command_line
;
memcpy
(
saved_command_line
,
*
cmdline_p
,
CL_SIZE
);
...
...
arch/m68k/mm/fault.c
View file @
d617a16f
...
...
@@ -49,7 +49,7 @@ asmlinkage int do_page_fault(struct pt_regs *regs, unsigned long address,
* If we're in an interrupt or have no user
* context, we must not take the fault..
*/
if
(
in_interrupt
()
||
mm
==
&
init_
mm
)
if
(
in_interrupt
()
||
!
mm
)
goto
no_context
;
down
(
&
mm
->
mmap_sem
);
...
...
arch/mips/config.in
View file @
d617a16f
...
...
@@ -93,7 +93,7 @@ bool 'BSD Process Accounting' CONFIG_BSD_PROCESS_ACCT
bool 'Sysctl support' CONFIG_SYSCTL
if [ "$CONFIG_SGI" != "y" -a "$CONFIG_DECSTATION" != "y" -a "$CONFIG_BAGET_MIPS" != "y" ]; then
source drivers/
misc
/Config.in
source drivers/
parport
/Config.in
fi
endmenu
...
...
arch/mips/mm/fault.c
View file @
d617a16f
...
...
@@ -55,7 +55,7 @@ asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long write,
* If we're in an interrupt or have no user
* context, we must not take the fault..
*/
if
(
in_interrupt
()
||
mm
==
&
init_
mm
)
if
(
in_interrupt
()
||
!
mm
)
goto
no_context
;
#if 0
printk("[%s:%d:%08lx:%ld:%08lx]\n", current->comm, current->pid,
...
...
arch/ppc/config.in
View file @
d617a16f
...
...
@@ -66,7 +66,7 @@ define_bool CONFIG_BINFMT_ELF y
define_bool CONFIG_KERNEL_ELF y
tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
source drivers/
misc
/Config.in
source drivers/
parport
/Config.in
bool 'Support for VGA Console' CONFIG_VGA_CONSOLE
bool 'Support for frame buffer devices' CONFIG_FB
...
...
arch/ppc/kernel/apus_setup.c
View file @
d617a16f
...
...
@@ -345,7 +345,7 @@ void kernel_set_cachemode( unsigned long address, unsigned long size,
{
pte_t
*
pte
;
pte
=
my_find_pte
(
init_task
.
mm
,
address
);
pte
=
my_find_pte
(
&
init_
mm
,
address
);
if
(
!
pte
)
{
printk
(
"pte NULL in kernel_set_cachemode()
\n
"
);
...
...
@@ -354,7 +354,7 @@ void kernel_set_cachemode( unsigned long address, unsigned long size,
pte_val
(
*
pte
)
&=
mask
;
pte_val
(
*
pte
)
|=
flags
;
flush_tlb_page
(
find_vma
(
init_task
.
mm
,
address
),
address
);
flush_tlb_page
(
find_vma
(
&
init_
mm
,
address
),
address
);
address
+=
PAGE_SIZE
;
}
...
...
arch/ppc/kernel/idle.c
View file @
d617a16f
...
...
@@ -227,7 +227,7 @@ void zero_paged(void)
/*
* Make the page no cache so we don't blow our cache with 0's
*/
pte
=
find_pte
(
init_task
.
mm
,
pageptr
);
pte
=
find_pte
(
&
init_
mm
,
pageptr
);
if
(
!
pte
)
{
printk
(
"pte NULL in zero_paged()
\n
"
);
...
...
@@ -235,7 +235,7 @@ void zero_paged(void)
}
pte_uncache
(
*
pte
);
flush_tlb_page
(
find_vma
(
init_task
.
mm
,
pageptr
),
pageptr
);
flush_tlb_page
(
find_vma
(
&
init_
mm
,
pageptr
),
pageptr
);
/*
* Important here to not take time away from real processes.
*/
...
...
@@ -260,7 +260,7 @@ void zero_paged(void)
/* turn cache on for this page */
pte_cache
(
*
pte
);
flush_tlb_page
(
find_vma
(
init_task
.
mm
,
pageptr
),
pageptr
);
flush_tlb_page
(
find_vma
(
&
init_
mm
,
pageptr
),
pageptr
);
/* atomically add this page to the list */
asm
(
"101:lwarx %0,0,%1
\n
"
/* reserve zero_cache */
" stw %0,0(%2)
\n
"
/* update *pageptr */
...
...
arch/ppc/kernel/setup.c
View file @
d617a16f
...
...
@@ -527,10 +527,10 @@ __initfunc(void setup_arch(char **cmdline_p,
/* reboot on panic */
panic_timeout
=
180
;
init_
task
.
mm
->
start_code
=
PAGE_OFFSET
;
init_
task
.
mm
->
end_code
=
(
unsigned
long
)
_etext
;
init_
task
.
mm
->
end_data
=
(
unsigned
long
)
_edata
;
init_
task
.
mm
->
brk
=
(
unsigned
long
)
klimit
;
init_
mm
.
start_code
=
PAGE_OFFSET
;
init_
mm
.
end_code
=
(
unsigned
long
)
_etext
;
init_
mm
.
end_data
=
(
unsigned
long
)
_edata
;
init_
mm
.
brk
=
(
unsigned
long
)
klimit
;
/* Save unparsed command line copy for /proc/cmdline */
strcpy
(
saved_command_line
,
cmd_line
);
...
...
arch/ppc/kernel/smp.c
View file @
d617a16f
...
...
@@ -403,7 +403,7 @@ void __init smp_callin(void)
#if 0
current->mm->mmap->vm_page_prot = PAGE_SHARED;
current->mm->mmap->vm_start = PAGE_OFFSET;
current->mm->mmap->vm_end = init_
task.mm->
mmap->vm_end;
current->mm->mmap->vm_end = init_
mm.
mmap->vm_end;
#endif
cpu_callin_map
[
current
->
processor
]
=
1
;
while
(
!
smp_commenced
)
...
...
arch/ppc/mm/fault.c
View file @
d617a16f
...
...
@@ -82,7 +82,7 @@ void do_page_fault(struct pt_regs *regs, unsigned long address,
return
;
}
#endif
if
(
in_interrupt
())
{
if
(
in_interrupt
()
||
!
mm
)
{
static
int
complained
;
if
(
complained
<
20
)
{
++
complained
;
...
...
arch/ppc/mm/init.c
View file @
d617a16f
...
...
@@ -444,11 +444,11 @@ unsigned long iopa(unsigned long addr)
#endif
/* CONFIG_APUS */
#endif
/* CONFIG_8xx */
/* Do we have a page table? */
if
(
init_
task
.
mm
->
pgd
==
NULL
)
if
(
init_
mm
.
pgd
==
NULL
)
return
0
;
/* Use upper 10 bits of addr to index the first level map */
pd
=
(
pmd_t
*
)
(
init_
task
.
mm
->
pgd
+
(
addr
>>
PGDIR_SHIFT
));
pd
=
(
pmd_t
*
)
(
init_
mm
.
pgd
+
(
addr
>>
PGDIR_SHIFT
));
if
(
pmd_none
(
*
pd
))
return
0
;
...
...
arch/sparc/ap1000/apmmu.c
View file @
d617a16f
...
...
@@ -295,7 +295,7 @@ static inline unsigned long apmmu_hwprobe(unsigned long vaddr)
static
inline
void
apmmu_uncache_page
(
unsigned
long
addr
)
{
pgd_t
*
pgdp
=
apmmu_pgd_offset
(
init_task
.
mm
,
addr
);
pgd_t
*
pgdp
=
apmmu_pgd_offset
(
&
init_
mm
,
addr
);
pmd_t
*
pmdp
;
pte_t
*
ptep
;
...
...
@@ -316,7 +316,7 @@ static inline void apmmu_uncache_page(unsigned long addr)
static
inline
void
apmmu_recache_page
(
unsigned
long
addr
)
{
pgd_t
*
pgdp
=
apmmu_pgd_offset
(
init_task
.
mm
,
addr
);
pgd_t
*
pgdp
=
apmmu_pgd_offset
(
&
init_
mm
,
addr
);
pmd_t
*
pmdp
;
pte_t
*
ptep
;
...
...
@@ -782,7 +782,7 @@ __initfunc(static inline void apmmu_allocate_ptable_skeleton(unsigned long start
pte_t
*
ptep
;
while
(
start
<
end
)
{
pgdp
=
apmmu_pgd_offset
(
init_task
.
mm
,
start
);
pgdp
=
apmmu_pgd_offset
(
&
init_
mm
,
start
);
if
(
apmmu_pgd_none
(
*
pgdp
))
{
pmdp
=
sparc_init_alloc
(
&
mempool
,
APMMU_PMD_TABLE_SIZE
);
apmmu_early_pgd_set
(
pgdp
,
pmdp
);
...
...
@@ -804,7 +804,7 @@ __initfunc(static void make_page(unsigned virt_page, unsigned phys_page, unsigne
pte_t
*
ptep
;
unsigned
start
=
virt_page
<<
12
;
pgdp
=
apmmu_pgd_offset
(
init_task
.
mm
,
start
);
pgdp
=
apmmu_pgd_offset
(
&
init_
mm
,
start
);
if
(
apmmu_pgd_none
(
*
pgdp
))
{
pmdp
=
sparc_init_alloc
(
&
mempool
,
APMMU_PMD_TABLE_SIZE
);
apmmu_early_pgd_set
(
pgdp
,
pmdp
);
...
...
@@ -824,7 +824,7 @@ __initfunc(static void make_large_page(unsigned virt_page, unsigned phys_page, u
pgd_t
*
pgdp
;
unsigned
start
=
virt_page
<<
12
;
pgdp
=
apmmu_pgd_offset
(
init_task
.
mm
,
start
);
pgdp
=
apmmu_pgd_offset
(
&
init_
mm
,
start
);
*
pgdp
=
__pgd
((
phys_page
<<
8
)
|
prot
);
}
...
...
@@ -907,7 +907,7 @@ __initfunc(static void map_kernel(void))
make_large_page
((
KERNBASE
+
phys
)
>>
12
,
(
phys
>>
12
),
APMMU_CACHE
|
APMMU_PRIV
|
APMMU_VALID
);
init_
task
.
mm
->
mmap
->
vm_start
=
page_offset
=
KERNBASE
;
init_
mm
.
mmap
->
vm_start
=
page_offset
=
KERNBASE
;
stack_top
=
page_offset
-
PAGE_SIZE
;
}
...
...
arch/sparc/kernel/setup.c
View file @
d617a16f
...
...
@@ -489,10 +489,10 @@ __initfunc(void setup_arch(char **cmdline_p,
/* Due to stack alignment restrictions and assumptions... */
init_
task
.
mm
->
mmap
->
vm_page_prot
=
PAGE_SHARED
;
init_
task
.
mm
->
mmap
->
vm_start
=
KERNBASE
;
init_
task
.
mm
->
mmap
->
vm_end
=
*
memory_end_p
;
init_
task
.
mm
->
context
=
(
unsigned
long
)
NO_CONTEXT
;
init_
mm
.
mmap
->
vm_page_prot
=
PAGE_SHARED
;
init_
mm
.
mmap
->
vm_start
=
KERNBASE
;
init_
mm
.
mmap
->
vm_end
=
*
memory_end_p
;
init_
mm
.
context
=
(
unsigned
long
)
NO_CONTEXT
;
init_task
.
tss
.
kregs
=
&
fake_swapper_regs
;
if
(
serial_console
)
...
...
arch/sparc/kernel/sun4d_smp.c
View file @
d617a16f
...
...
@@ -131,7 +131,7 @@ __initfunc(void smp4d_callin(void))
current
->
mm
->
mmap
->
vm_page_prot
=
PAGE_SHARED
;
current
->
mm
->
mmap
->
vm_start
=
PAGE_OFFSET
;
current
->
mm
->
mmap
->
vm_end
=
init_
task
.
mm
->
mmap
->
vm_end
;
current
->
mm
->
mmap
->
vm_end
=
init_
mm
.
mmap
->
vm_end
;
local_flush_cache_all
();
local_flush_tlb_all
();
...
...
arch/sparc/kernel/sun4m_smp.c
View file @
d617a16f
...
...
@@ -109,7 +109,7 @@ __initfunc(void smp4m_callin(void))
:
"memory"
/* paranoid */
);
current
->
mm
->
mmap
->
vm_page_prot
=
PAGE_SHARED
;
current
->
mm
->
mmap
->
vm_start
=
PAGE_OFFSET
;
current
->
mm
->
mmap
->
vm_end
=
init_
task
.
mm
->
mmap
->
vm_end
;
current
->
mm
->
mmap
->
vm_end
=
init_
mm
.
mmap
->
vm_end
;
while
(
!
smp_commenced
)
barrier
();
...
...
arch/sparc/mm/fault.c
View file @
d617a16f
...
...
@@ -205,7 +205,7 @@ asmlinkage void do_sparc_fault(struct pt_regs *regs, int text_fault, int write,
* If we're in an interrupt or have no user
* context, we must not take the fault..
*/
if
(
in_interrupt
()
||
mm
==
&
init_
mm
)
if
(
in_interrupt
()
||
!
mm
)
goto
do_kernel_fault
;
down
(
&
mm
->
mmap_sem
);
...
...
arch/sparc/mm/srmmu.c
View file @
d617a16f
...
...
@@ -846,7 +846,7 @@ void srmmu_mapioaddr(unsigned long physaddr, unsigned long virt_addr, int bus_ty
unsigned
long
tmp
;
physaddr
&=
PAGE_MASK
;
pgdp
=
srmmu_pgd_offset
(
init_task
.
mm
,
virt_addr
);
pgdp
=
srmmu_pgd_offset
(
&
init_
mm
,
virt_addr
);
pmdp
=
pmd_offset
(
pgdp
,
virt_addr
);
ptep
=
pte_offset
(
pmdp
,
virt_addr
);
tmp
=
(
physaddr
>>
4
)
|
SRMMU_ET_PTE
;
...
...
@@ -871,7 +871,7 @@ void srmmu_unmapioaddr(unsigned long virt_addr)
pmd_t
*
pmdp
;
pte_t
*
ptep
;
pgdp
=
srmmu_pgd_offset
(
init_task
.
mm
,
virt_addr
);
pgdp
=
srmmu_pgd_offset
(
&
init_
mm
,
virt_addr
);
pmdp
=
pmd_offset
(
pgdp
,
virt_addr
);
ptep
=
pte_offset
(
pmdp
,
virt_addr
);
...
...
@@ -1476,7 +1476,7 @@ static inline void srmmu_allocate_ptable_skeleton(unsigned long start, unsigned
pte_t
*
ptep
;
while
(
start
<
end
)
{
pgdp
=
srmmu_pgd_offset
(
init_task
.
mm
,
start
);
pgdp
=
srmmu_pgd_offset
(
&
init_
mm
,
start
);
if
(
srmmu_pgd_none
(
*
pgdp
))
{
pmdp
=
sparc_init_alloc
(
&
mempool
,
SRMMU_PMD_TABLE_SIZE
);
srmmu_early_pgd_set
(
pgdp
,
pmdp
);
...
...
@@ -1526,7 +1526,7 @@ __initfunc(void srmmu_inherit_prom_mappings(unsigned long start,unsigned long en
what
=
2
;
}
pgdp
=
srmmu_pgd_offset
(
init_task
.
mm
,
start
);
pgdp
=
srmmu_pgd_offset
(
&
init_
mm
,
start
);
if
(
what
==
2
)
{
*
pgdp
=
__pgd
(
prompte
);
start
+=
SRMMU_PGDIR_SIZE
;
...
...
@@ -1626,7 +1626,7 @@ __initfunc(void srmmu_end_memory(unsigned long memory_size, unsigned long *end_m
/* Create a third-level SRMMU 16MB page mapping. */
__initfunc
(
static
void
do_large_mapping
(
unsigned
long
vaddr
,
unsigned
long
phys_base
))
{
pgd_t
*
pgdp
=
srmmu_pgd_offset
(
init_task
.
mm
,
vaddr
);
pgd_t
*
pgdp
=
srmmu_pgd_offset
(
&
init_
mm
,
vaddr
);
unsigned
long
big_pte
;
MKTRACE
((
"dlm[v<%08lx>-->p<%08lx>]"
,
vaddr
,
phys_base
));
...
...
@@ -1840,7 +1840,7 @@ static inline void map_kernel(void)
}
}
MKTRACE
((
"success
\n
"
));
init_
task
.
mm
->
mmap
->
vm_start
=
page_offset
=
low_base
;
init_
mm
.
mmap
->
vm_start
=
page_offset
=
low_base
;
stack_top
=
page_offset
-
PAGE_SIZE
;
BTFIXUPSET_SETHI
(
page_offset
,
low_base
);
BTFIXUPSET_SETHI
(
stack_top
,
page_offset
-
PAGE_SIZE
);
...
...
arch/sparc/mm/sun4c.c
View file @
d617a16f
...
...
@@ -1560,7 +1560,7 @@ __initfunc(static unsigned long sun4c_init_lock_areas(unsigned long start_mem))
memset
((
void
*
)
start_mem
,
0
,
bitmap_size
);
start_mem
+=
bitmap_size
;
sun4c_kstack_vma
.
vm_mm
=
init_task
.
mm
;
sun4c_kstack_vma
.
vm_mm
=
&
init_
mm
;
sun4c_kstack_vma
.
vm_start
=
sun4c_taskstack_start
;
sun4c_kstack_vma
.
vm_end
=
sun4c_taskstack_end
;
sun4c_kstack_vma
.
vm_page_prot
=
PAGE_SHARED
;
...
...
arch/sparc64/config.in
View file @
d617a16f
...
...
@@ -68,7 +68,7 @@ if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
fi
if [ "$CONFIG_PCI" = "y" ]; then
source drivers/
misc
/Config.in
source drivers/
parport
/Config.in
dep_tristate ' Parallel printer support' CONFIG_PRINTER $CONFIG_PARPORT
tristate 'SUNW,envctrl support' CONFIG_ENVCTRL
fi
...
...
arch/sparc64/kernel/setup.c
View file @
d617a16f
...
...
@@ -531,10 +531,10 @@ __initfunc(void setup_arch(char **cmdline_p,
#endif
/* Due to stack alignment restrictions and assumptions... */
init_
task
.
mm
->
mmap
->
vm_page_prot
=
PAGE_SHARED
;
init_
task
.
mm
->
mmap
->
vm_start
=
PAGE_OFFSET
;
init_
task
.
mm
->
mmap
->
vm_end
=
*
memory_end_p
;
init_
task
.
mm
->
context
=
(
unsigned
long
)
NO_CONTEXT
;
init_
mm
.
mmap
->
vm_page_prot
=
PAGE_SHARED
;
init_
mm
.
mmap
->
vm_start
=
PAGE_OFFSET
;
init_
mm
.
mmap
->
vm_end
=
*
memory_end_p
;
init_
mm
.
context
=
(
unsigned
long
)
NO_CONTEXT
;
init_task
.
tss
.
kregs
=
&
fake_swapper_regs
;
#ifdef CONFIG_IP_PNP
...
...
arch/sparc64/mm/fault.c
View file @
d617a16f
...
...
@@ -154,7 +154,7 @@ asmlinkage void do_sparc64_fault(struct pt_regs *regs, unsigned long address, in
* If we're in an interrupt or have no user
* context, we must not take the fault..
*/
if
(
in_interrupt
()
||
mm
==
&
init_
mm
)
if
(
in_interrupt
()
||
!
mm
)
goto
do_kernel_fault
;
down
(
&
mm
->
mmap_sem
);
...
...
drivers/Makefile
View file @
d617a16f
...
...
@@ -7,7 +7,7 @@
#
# Note 2! The CFLAGS definitions are now in the main makefile.
SUB_DIRS
:=
block char net
misc
sound
SUB_DIRS
:=
block char net
parport
sound
MOD_SUB_DIRS
:=
$(SUB_DIRS)
ALL_SUB_DIRS
:=
$(SUB_DIRS)
pci sgi scsi sbus cdrom isdn pnp i2o
\
macintosh video dio zorro fc4 usb
\
...
...
drivers/char/ppdev.c
View file @
d617a16f
...
...
@@ -11,7 +11,7 @@
* as published by the Free Software Foundation; either version
* 2 of the License, or (at your option) any later version.
*
* A /dev/parportx
y device node represents an arbitrary device ('y')
* A /dev/parportx
device node represents an arbitrary device
* on port 'x'. The following operations are possible:
*
* open do nothing, set up default IEEE 1284 protocol to be COMPAT
...
...
drivers/
misc
/BUGS-parport
→
drivers/
parport
/BUGS-parport
View file @
d617a16f
File moved
drivers/
misc
/Config.in
→
drivers/
parport
/Config.in
View file @
d617a16f
File moved
drivers/
misc
/Makefile
→
drivers/
parport
/Makefile
View file @
d617a16f
...
...
@@ -16,18 +16,17 @@ SUB_DIRS :=
MOD_SUB_DIRS
:=
$(SUB_DIRS)
ALL_SUB_DIRS
:=
$(SUB_DIRS)
L_TARGET
:=
misc
.a
L_TARGET
:=
parport
.a
MX_OBJS
:=
LX_OBJS
:=
MI_OBJS
:=
MIX_OBJS
:=
ifeq
($(CONFIG_PARPORT),y)
L_OBJS
+=
parport_share.o parport_ieee1284.o parport_ieee1284_ops.o
\
parport_procfs.o
L_OBJS
+=
share.o ieee1284.o ieee1284_ops.o procfs.o
ifeq
($(CONFIG_PARPORT_1284),y)
L_OBJS
+=
parport_daisy.o parport_
probe.o
L_OBJS
+=
daisy.o
probe.o
endif
ifeq
($(CONFIG_PARPORT_PC),y)
...
...
@@ -65,17 +64,17 @@ ifeq ($(CONFIG_PARPORT),y)
M_OBJS
+=
parport_atari.o
endif
endif
LX_OBJS
+=
parport_
init.o
LX_OBJS
+=
init.o
else
ifeq
($(CONFIG_PARPORT),m)
MI_OBJS
+=
parport_share.o parport_ieee1284.o parport_
ieee1284_ops.o
MI_OBJS
+=
share.o ieee1284.o
ieee1284_ops.o
ifeq
($(CONFIG_PARPORT_1284),y)
MI_OBJS
+=
parport_daisy.o parport_
probe.o
MI_OBJS
+=
daisy.o
probe.o
endif
ifneq
($(CONFIG_PROC_FS),n)
MI_OBJS
+=
p
arport_p
rocfs.o
MI_OBJS
+=
procfs.o
endif
MIX_OBJS
+=
parport_
init.o
MIX_OBJS
+=
init.o
M_OBJS
+=
parport.o
endif
ifeq
($(CONFIG_PARPORT_PC),m)
...
...
drivers/
misc
/TODO-parport
→
drivers/
parport
/TODO-parport
View file @
d617a16f
File moved
drivers/
misc/parport_
daisy.c
→
drivers/
parport/
daisy.c
View file @
d617a16f
File moved
drivers/
misc/parport_
ieee1284.c
→
drivers/
parport/
ieee1284.c
View file @
d617a16f
File moved
drivers/
misc/parport_
ieee1284_ops.c
→
drivers/
parport/
ieee1284_ops.c
View file @
d617a16f
File moved
drivers/
misc/parport_
init.c
→
drivers/
parport/
init.c
View file @
d617a16f
File moved
drivers/
misc
/multiface.h
→
drivers/
parport
/multiface.h
View file @
d617a16f
File moved
drivers/
misc
/parport_amiga.c
→
drivers/
parport
/parport_amiga.c
View file @
d617a16f
File moved
drivers/
misc
/parport_arc.c
→
drivers/
parport
/parport_arc.c
View file @
d617a16f
File moved
drivers/
misc
/parport_atari.c
→
drivers/
parport
/parport_atari.c
View file @
d617a16f
File moved
drivers/
misc
/parport_ax.c
→
drivers/
parport
/parport_ax.c
View file @
d617a16f
File moved
drivers/
misc
/parport_mfc3.c
→
drivers/
parport
/parport_mfc3.c
View file @
d617a16f
File moved
drivers/
misc
/parport_pc.c
→
drivers/
parport
/parport_pc.c
View file @
d617a16f
File moved
drivers/
misc/parport_
probe.c
→
drivers/
parport/
probe.c
View file @
d617a16f
File moved
drivers/
misc/parport_
procfs.c
→
drivers/
parport/
procfs.c
View file @
d617a16f
File moved
drivers/
misc/parport_
share.c
→
drivers/
parport/
share.c
View file @
d617a16f
File moved
fs/proc/array.c
View file @
d617a16f
...
...
@@ -743,10 +743,11 @@ static inline char * task_mem(struct task_struct *p, char *buffer)
struct
mm_struct
*
mm
=
p
->
mm
;
if
(
mm
)
{
struct
vm_area_struct
*
vma
=
mm
->
mmap
;
struct
vm_area_struct
*
vma
;
unsigned
long
data
=
0
,
stack
=
0
;
unsigned
long
exec
=
0
,
lib
=
0
;
down
(
&
mm
->
mmap_sem
);
for
(
vma
=
mm
->
mmap
;
vma
;
vma
=
vma
->
vm_next
)
{
unsigned
long
len
=
(
vma
->
vm_end
-
vma
->
vm_start
)
>>
10
;
if
(
!
vma
->
vm_file
)
{
...
...
@@ -763,7 +764,7 @@ static inline char * task_mem(struct task_struct *p, char *buffer)
continue
;
lib
+=
len
;
}
}
}
buffer
+=
sprintf
(
buffer
,
"VmSize:
\t
%8lu kB
\n
"
"VmLck:
\t
%8lu kB
\n
"
...
...
@@ -777,6 +778,7 @@ static inline char * task_mem(struct task_struct *p, char *buffer)
mm
->
rss
<<
(
PAGE_SHIFT
-
10
),
data
-
stack
,
stack
,
exec
-
lib
,
lib
);
up
(
&
mm
->
mmap_sem
);
}
return
buffer
;
}
...
...
fs/proc/link.c
View file @
d617a16f
...
...
@@ -104,15 +104,18 @@ static struct dentry * proc_follow_link(struct dentry *dentry,
struct
vm_area_struct
*
vma
;
if
(
!
p
->
mm
)
goto
out_unlock
;
down
(
&
p
->
mm
->
mmap_sem
);
vma
=
p
->
mm
->
mmap
;
while
(
vma
)
{
if
((
vma
->
vm_flags
&
VM_EXECUTABLE
)
&&
vma
->
vm_file
)
{
result
=
vma
->
vm_file
->
f_dentry
;
up
(
&
p
->
mm
->
mmap_sem
);
goto
out_dget
;
}
vma
=
vma
->
vm_next
;
}
up
(
&
p
->
mm
->
mmap_sem
);
goto
out_unlock
;
}
default:
...
...
include/asm-i386/semaphore.h
View file @
d617a16f
...
...
@@ -17,6 +17,10 @@
* potential and subtle race discovered by Ulrich Schmid
* in down_interruptible(). Since I started to play here I
* also implemented the `trylock' semaphore operation.
* 1999-07-02 Artur Skawina <skawina@geocities.com>
* Optimized "0(ecx)" -> "(ecx)" (the assembler does not
* do this). Changed calling sequences from push/jmp to
* traditional call/ret.
*
* If you would like to see an analysis of this implementation, please
* ftp to gcom.com and download the file
...
...
@@ -112,12 +116,12 @@ extern inline void down(struct semaphore * sem)
#ifdef __SMP__
"lock ; "
#endif
"decl
0(%0)
\n\t
"
"decl
(%0)
\n\t
"
/* --sem->count */
"js 2f
\n
"
"1:
\n
"
".section .text.lock,
\"
ax
\"\n
"
"2:
\t
pushl $1b
\n\t
"
"jmp
__down_failed
\n
"
"2:
\t
call __down_failed
\n\t
"
"jmp
1b
\n
"
".previous"
:
/* no outputs */
:
"c"
(
sem
)
...
...
@@ -137,13 +141,13 @@ extern inline int down_interruptible(struct semaphore * sem)
#ifdef __SMP__
"lock ; "
#endif
"decl
0(%1)
\n\t
"
"decl
(%1)
\n\t
"
/* --sem->count */
"js 2f
\n\t
"
"xorl %0,%0
\n
"
"1:
\n
"
".section .text.lock,
\"
ax
\"\n
"
"2:
\t
pushl $1b
\n\t
"
"jmp
__down_failed_interruptible
\n
"
"2:
\t
call __down_failed_interruptible
\n\t
"
"jmp
1b
\n
"
".previous"
:
"=a"
(
result
)
:
"c"
(
sem
)
...
...
@@ -164,13 +168,13 @@ extern inline int down_trylock(struct semaphore * sem)
#ifdef __SMP__
"lock ; "
#endif
"decl
0(%1)
\n\t
"
"decl
(%1)
\n\t
"
/* --sem->count */
"js 2f
\n\t
"
"xorl %0,%0
\n
"
"1:
\n
"
".section .text.lock,
\"
ax
\"\n
"
"2:
\t
pushl $1b
\n\t
"
"jmp
__down_failed_trylock
\n
"
"2:
\t
call __down_failed_trylock
\n\t
"
"jmp
1b
\n
"
".previous"
:
"=a"
(
result
)
:
"c"
(
sem
)
...
...
@@ -194,12 +198,12 @@ extern inline void up(struct semaphore * sem)
#ifdef __SMP__
"lock ; "
#endif
"incl
0(%0)
\n\t
"
"incl
(%0)
\n\t
"
/* ++sem->count */
"jle 2f
\n
"
"1:
\n
"
".section .text.lock,
\"
ax
\"\n
"
"2:
\t
pushl $1b
\n\t
"
"jmp
__up_wakeup
\n
"
"2:
\t
call __up_wakeup
\n\t
"
"jmp
1b
\n
"
".previous"
:
/* no outputs */
:
"c"
(
sem
)
...
...
lib/vsprintf.c
View file @
d617a16f
...
...
@@ -156,7 +156,9 @@ int vsprintf(char *buf, const char *fmt, va_list args)
int
precision
;
/* min. # of digits for integers; max
number of chars for from string */
int
qualifier
;
/* 'h', 'l', or 'L' for integer fields */
/* 'z' support added 23/7/1999 S.H. */
for
(
str
=
buf
;
*
fmt
;
++
fmt
)
{
if
(
*
fmt
!=
'%'
)
{
*
str
++
=
*
fmt
;
...
...
@@ -206,7 +208,7 @@ int vsprintf(char *buf, const char *fmt, va_list args)
/* get the conversion qualifier */
qualifier
=
-
1
;
if
(
*
fmt
==
'h'
||
*
fmt
==
'l'
||
*
fmt
==
'L'
)
{
if
(
*
fmt
==
'h'
||
*
fmt
==
'l'
||
*
fmt
==
'L'
||
*
fmt
==
'z'
)
{
qualifier
=
*
fmt
;
++
fmt
;
}
...
...
@@ -255,6 +257,9 @@ int vsprintf(char *buf, const char *fmt, va_list args)
if
(
qualifier
==
'l'
)
{
long
*
ip
=
va_arg
(
args
,
long
*
);
*
ip
=
(
str
-
buf
);
}
else
if
(
qualifier
==
'z'
)
{
size_t
*
ip
=
va_arg
(
args
,
size_t
*
);
*
ip
=
(
str
-
buf
);
}
else
{
int
*
ip
=
va_arg
(
args
,
int
*
);
*
ip
=
(
str
-
buf
);
...
...
@@ -292,6 +297,8 @@ int vsprintf(char *buf, const char *fmt, va_list args)
}
if
(
qualifier
==
'l'
)
num
=
va_arg
(
args
,
unsigned
long
);
else
if
(
qualifier
==
'z'
)
num
=
va_arg
(
args
,
size_t
);
else
if
(
qualifier
==
'h'
)
{
num
=
(
unsigned
short
)
va_arg
(
args
,
int
);
if
(
flags
&
SIGN
)
...
...
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