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
d05120a9
Commit
d05120a9
authored
Mar 24, 2003
by
Anton Blanchard
Browse files
Options
Browse Files
Download
Plain Diff
Merge samba.org:/scratch/anton/linux-2.5
into samba.org:/scratch/anton/tmp3
parents
0dab5c04
c7387f9f
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
25 additions
and
19 deletions
+25
-19
arch/ppc64/Makefile
arch/ppc64/Makefile
+5
-7
arch/ppc64/boot/Makefile
arch/ppc64/boot/Makefile
+3
-3
arch/ppc64/kernel/process.c
arch/ppc64/kernel/process.c
+7
-1
include/asm-ppc64/pgtable.h
include/asm-ppc64/pgtable.h
+10
-8
No files found.
arch/ppc64/Makefile
View file @
d05120a9
...
...
@@ -13,10 +13,10 @@
# Adjusted for PPC64 by Tom Gall
#
KERNELLOAD
=
0xc000000000000000
KERNELLOAD
:
=
0xc000000000000000
LDFLAGS
:=
-m
elf64ppc
LDFLAGS_vmlinux
=
-Bstatic
-e
$(KERNELLOAD)
-Ttext
$(KERNELLOAD)
LDFLAGS_vmlinux
:
=
-Bstatic
-e
$(KERNELLOAD)
-Ttext
$(KERNELLOAD)
LDFLAGS_BLOB
:=
--format
binary
--oformat
elf64-powerpc
CFLAGS
+=
-msoft-float
-pipe
-Wno-uninitialized
-mminimal-toc
\
-mtraceback
=
full
-mcpu
=
power4
...
...
@@ -29,21 +29,19 @@ core-y += arch/ppc64/mm/
core-$(CONFIG_XMON)
+=
arch
/ppc64/xmon/
drivers-$(CONFIG_OPROFILE)
+=
arch
/ppc64/oprofile/
makeboot
=
$(Q)$(MAKE)
-f
scripts/Makefile.build
obj
=
arch
/ppc64/boot
$(1)
boot
:=
arch
/ppc64/boot
boottarget-$(CONFIG_PPC_PSERIES)
:=
zImage zImage.initrd
boottarget-$(CONFIG_PPC_ISERIES)
:=
vmlinux.sminitrd vmlinux.initrd vmlinux.sm
$(boottarget-y)
:
vmlinux
$(
call
makeboot,arch/ppc64/boot/
$@
)
$(
Q)$(MAKE)
$(build)
=
$(boot)
$(boot)
/
$@
%_config
:
arch/ppc64/configs/%_defconfig
rm
-f
.config
arch
/ppc64/defconfig
cp
-f
arch
/ppc64/configs/
$
(
@:config
=
defconfig
)
arch
/ppc64/defconfig
archclean
:
$(Q)$(MAKE)
-f
scripts/Makefile.clean
obj
=
arch
/ppc64/boot
archmrproper
:
$(Q)$(MAKE)
$(clean)
=
$(boot)
prepare
:
include/asm-ppc64/offsets.h
...
...
arch/ppc64/boot/Makefile
View file @
d05120a9
...
...
@@ -79,7 +79,7 @@ $(obj)/vmlinux.initrd: vmlinux $(obj)/addRamDisk $(obj)/ramdisk.image.gz System.
$(obj)/vmlinux.sminitrd
:
$(obj)/vmlinux.sm $(obj)/addRamDisk $(obj)/ramdisk.image.gz FORCE
$(
call
if_changed,ramdisk
)
$(obj)/sysmap.o
:
System.map $(obj)/piggyback
$(obj)/sysmap.o
:
System.map $(obj)/piggyback
FORCE
$(
call
if_changed,piggy
)
addsection
=
$(BOOTOBJCOPY)
$(1)
\
...
...
@@ -92,7 +92,7 @@ quiet_cmd_addnote = ADDNOTE $@
quiet_cmd_piggy
=
PIGGY
$@
cmd_piggy
=
$(obj)
/piggyback
$
(
@:.o
=)
<
$<
|
$(BOOTAS)
-o
$@
$(call gz-sec, $(required))
:
$(obj)/kernel-%.gz: %
$(call gz-sec, $(required))
:
$(obj)/kernel-%.gz: %
FORCE
$(
call
if_changed,gzip
)
$(obj)/kernel-initrd.gz
:
$(obj)/ramdisk.image.gz
...
...
@@ -101,7 +101,7 @@ $(obj)/kernel-initrd.gz: $(obj)/ramdisk.image.gz
$(call src-sec, $(required) $(initrd))
:
$(obj)/kernel-%.c: $(obj)/kernel-%.gz
touch
$@
$(call obj-sec, $(required) $(initrd))
:
$(obj)/kernel-%.o: $(obj)/kernel-%.c
$(call obj-sec, $(required) $(initrd))
:
$(obj)/kernel-%.o: $(obj)/kernel-%.c
FORCE
$(
call
if_changed_dep,bootcc
)
$(
call
addsection,
$@
)
...
...
arch/ppc64/kernel/process.c
View file @
d05120a9
...
...
@@ -208,6 +208,12 @@ copy_thread(int nr, unsigned long clone_flags, unsigned long usp,
}
else
{
childregs
->
gpr
[
1
]
=
usp
;
p
->
thread
.
regs
=
childregs
;
if
(
clone_flags
&
CLONE_SETTLS
)
{
if
(
test_thread_flag
(
TIF_32BIT
))
childregs
->
gpr
[
2
]
=
childregs
->
gpr
[
6
];
else
childregs
->
gpr
[
13
]
=
childregs
->
gpr
[
6
];
}
}
childregs
->
gpr
[
3
]
=
0
;
/* Result from fork() */
sp
-=
STACK_FRAME_OVERHEAD
;
...
...
@@ -304,7 +310,7 @@ int sys_clone(unsigned long clone_flags, unsigned long p2, unsigned long p3,
if
(
clone_flags
&
(
CLONE_PARENT_SETTID
|
CLONE_CHILD_SETTID
|
CLONE_CHILD_CLEARTID
))
{
parent_tidptr
=
p3
;
child_tidptr
=
p
4
;
child_tidptr
=
p
5
;
if
(
test_thread_flag
(
TIF_32BIT
))
{
parent_tidptr
&=
0xffffffff
;
child_tidptr
&=
0xffffffff
;
...
...
include/asm-ppc64/pgtable.h
View file @
d05120a9
...
...
@@ -83,9 +83,7 @@
#define _PAGE_WRITETHRU 0x040UL
/* W: cache write-through */
#define _PAGE_DIRTY 0x080UL
/* C: page changed */
#define _PAGE_ACCESSED 0x100UL
/* R: page referenced */
#if 0
#define _PAGE_HPTENOIX 0x200UL /* software: pte HPTE slot unknown */
#endif
#define _PAGE_FILE 0x200UL
/* software: pte holds file offset */
#define _PAGE_HASHPTE 0x400UL
/* software: pte has an associated HPTE */
#define _PAGE_EXEC 0x800UL
/* software: i-cache coherence required */
#define _PAGE_SECONDARY 0x8000UL
/* software: HPTE is in secondary group */
...
...
@@ -234,6 +232,7 @@ static inline int pte_write(pte_t pte) { return pte_val(pte) & _PAGE_RW;}
static
inline
int
pte_exec
(
pte_t
pte
)
{
return
pte_val
(
pte
)
&
_PAGE_EXEC
;}
static
inline
int
pte_dirty
(
pte_t
pte
)
{
return
pte_val
(
pte
)
&
_PAGE_DIRTY
;}
static
inline
int
pte_young
(
pte_t
pte
)
{
return
pte_val
(
pte
)
&
_PAGE_ACCESSED
;}
static
inline
int
pte_file
(
pte_t
pte
)
{
return
pte_val
(
pte
)
&
_PAGE_FILE
;}
static
inline
void
pte_uncache
(
pte_t
pte
)
{
pte_val
(
pte
)
|=
_PAGE_NO_CACHE
;
}
static
inline
void
pte_cache
(
pte_t
pte
)
{
pte_val
(
pte
)
&=
~
_PAGE_NO_CACHE
;
}
...
...
@@ -349,11 +348,14 @@ struct vm_area_struct;
extern
void
update_mmu_cache
(
struct
vm_area_struct
*
,
unsigned
long
,
pte_t
);
/* Encode and de-code a swap entry */
#define __swp_type(entry) (((entry).val >> 1) & 0x3f)
#define __swp_offset(entry) ((entry).val >> 8)
#define __swp_entry(type, offset) ((swp_entry_t) { ((type) << 1) | ((offset) << 8) })
#define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val(pte) >> PTE_SHIFT })
#define __swp_entry_to_pte(x) ((pte_t) { (x).val << PTE_SHIFT })
#define __swp_type(entry) (((entry).val >> 1) & 0x3f)
#define __swp_offset(entry) ((entry).val >> 8)
#define __swp_entry(type, offset) ((swp_entry_t) { ((type) << 1) | ((offset) << 8) })
#define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val(pte) >> PTE_SHIFT })
#define __swp_entry_to_pte(x) ((pte_t) { (x).val << PTE_SHIFT })
#define pte_to_pgoff(pte) (pte_val(pte) >> PTE_SHIFT)
#define pgoff_to_pte(off) ((pte_t) {((off) << PTE_SHIFT)|_PAGE_FILE})
#define PTE_FILE_MAX_BITS (BITS_PER_LONG - PTE_SHIFT)
/*
* kern_addr_valid is intended to indicate whether an address is a valid
...
...
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