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
nexedi
linux
Commits
bf851860
Commit
bf851860
authored
Aug 23, 2004
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge
bk://ppc.bkbits.net/for-linus-ppc64
into ppc970.osdl.org:/home/torvalds/v2.6/linux
parents
6a8e8a44
96eacb6b
Changes
5
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
118 additions
and
170 deletions
+118
-170
arch/ppc64/kernel/Makefile
arch/ppc64/kernel/Makefile
+1
-1
arch/ppc64/mm/Makefile
arch/ppc64/mm/Makefile
+2
-1
arch/ppc64/mm/stab.c
arch/ppc64/mm/stab.c
+104
-141
include/asm-ppc64/mmu.h
include/asm-ppc64/mmu.h
+9
-25
include/asm-ppc64/mmu_context.h
include/asm-ppc64/mmu_context.h
+2
-2
No files found.
arch/ppc64/kernel/Makefile
View file @
bf851860
...
@@ -7,7 +7,7 @@ extra-y := head.o vmlinux.lds
...
@@ -7,7 +7,7 @@ extra-y := head.o vmlinux.lds
obj-y
:=
setup.o entry.o traps.o irq.o idle.o dma.o
\
obj-y
:=
setup.o entry.o traps.o irq.o idle.o dma.o
\
time.o process.o signal.o syscalls.o misc.o ptrace.o
\
time.o process.o signal.o syscalls.o misc.o ptrace.o
\
align.o semaphore.o bitops.o
stab.o
pacaData.o
\
align.o semaphore.o bitops.o pacaData.o
\
udbg.o binfmt_elf32.o sys_ppc32.o ioctl32.o
\
udbg.o binfmt_elf32.o sys_ppc32.o ioctl32.o
\
ptrace32.o signal32.o rtc.o init_task.o
\
ptrace32.o signal32.o rtc.o init_task.o
\
lmb.o cputable.o cpu_setup_power4.o idle_power4.o
\
lmb.o cputable.o cpu_setup_power4.o idle_power4.o
\
...
...
arch/ppc64/mm/Makefile
View file @
bf851860
...
@@ -4,6 +4,7 @@
...
@@ -4,6 +4,7 @@
EXTRA_CFLAGS
+=
-mno-minimal-toc
EXTRA_CFLAGS
+=
-mno-minimal-toc
obj-y
:=
fault.o init.o imalloc.o hash_utils.o hash_low.o tlb.o slb_low.o slb.o
obj-y
:=
fault.o init.o imalloc.o hash_utils.o hash_low.o tlb.o
\
slb_low.o slb.o stab.o
obj-$(CONFIG_DISCONTIGMEM)
+=
numa.o
obj-$(CONFIG_DISCONTIGMEM)
+=
numa.o
obj-$(CONFIG_HUGETLB_PAGE)
+=
hugetlbpage.o
obj-$(CONFIG_HUGETLB_PAGE)
+=
hugetlbpage.o
arch/ppc64/
kernel
/stab.c
→
arch/ppc64/
mm
/stab.c
View file @
bf851860
This diff is collapsed.
Click to expand it.
include/asm-ppc64/mmu.h
View file @
bf851860
...
@@ -37,33 +37,17 @@ typedef struct {
...
@@ -37,33 +37,17 @@ typedef struct {
mm_context_t ctx = { .id = REGION_ID(ea), KERNEL_LOW_HPAGES}; \
mm_context_t ctx = { .id = REGION_ID(ea), KERNEL_LOW_HPAGES}; \
ctx; })
ctx; })
typedef
struct
{
#define STE_ESID_V 0x80
unsigned
long
esid
:
36
;
/* Effective segment ID */
#define STE_ESID_KS 0x20
unsigned
long
resv0
:
20
;
/* Reserved */
#define STE_ESID_KP 0x10
unsigned
long
v
:
1
;
/* Entry valid (v=1) or invalid */
#define STE_ESID_N 0x08
unsigned
long
resv1
:
1
;
/* Reserved */
unsigned
long
ks
:
1
;
/* Supervisor (privileged) state storage key */
unsigned
long
kp
:
1
;
/* Problem state storage key */
unsigned
long
n
:
1
;
/* No-execute if n=1 */
unsigned
long
resv2
:
3
;
/* padding to a 64b boundary */
}
ste_dword0
;
typedef
struct
{
#define STE_VSID_SHIFT 12
unsigned
long
vsid
:
52
;
/* Virtual segment ID */
unsigned
long
resv0
:
12
;
/* Padding to a 64b boundary */
}
ste_dword1
;
typedef
struct
_STE
{
struct
stab_entry
{
union
{
unsigned
long
esid_data
;
unsigned
long
dword0
;
unsigned
long
vsid_data
;
ste_dword0
dw0
;
};
}
dw0
;
union
{
unsigned
long
dword1
;
ste_dword1
dw1
;
}
dw1
;
}
STE
;
/* Hardware Page Table Entry */
/* Hardware Page Table Entry */
...
...
include/asm-ppc64/mmu_context.h
View file @
bf851860
...
@@ -135,7 +135,7 @@ destroy_context(struct mm_struct *mm)
...
@@ -135,7 +135,7 @@ destroy_context(struct mm_struct *mm)
spin_unlock_irqrestore
(
&
mmu_context_queue
.
lock
,
flags
);
spin_unlock_irqrestore
(
&
mmu_context_queue
.
lock
,
flags
);
}
}
extern
void
flus
h_stab
(
struct
task_struct
*
tsk
,
struct
mm_struct
*
mm
);
extern
void
switc
h_stab
(
struct
task_struct
*
tsk
,
struct
mm_struct
*
mm
);
extern
void
switch_slb
(
struct
task_struct
*
tsk
,
struct
mm_struct
*
mm
);
extern
void
switch_slb
(
struct
task_struct
*
tsk
,
struct
mm_struct
*
mm
);
/*
/*
...
@@ -163,7 +163,7 @@ static inline void switch_mm(struct mm_struct *prev, struct mm_struct *next,
...
@@ -163,7 +163,7 @@ static inline void switch_mm(struct mm_struct *prev, struct mm_struct *next,
if
(
cur_cpu_spec
->
cpu_features
&
CPU_FTR_SLB
)
if
(
cur_cpu_spec
->
cpu_features
&
CPU_FTR_SLB
)
switch_slb
(
tsk
,
next
);
switch_slb
(
tsk
,
next
);
else
else
flus
h_stab
(
tsk
,
next
);
switc
h_stab
(
tsk
,
next
);
}
}
#define deactivate_mm(tsk,mm) do { } while (0)
#define deactivate_mm(tsk,mm) do { } while (0)
...
...
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