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
8e9f9a37
Commit
8e9f9a37
authored
Mar 17, 2002
by
Anton Blanchard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ppc64: updates for 2.5.7-pre2
parent
976e84b0
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
10 additions
and
115 deletions
+10
-115
arch/ppc64/kernel/pSeries_lpar.c
arch/ppc64/kernel/pSeries_lpar.c
+2
-1
arch/ppc64/kernel/signal.c
arch/ppc64/kernel/signal.c
+3
-3
arch/ppc64/kernel/signal32.c
arch/ppc64/kernel/signal32.c
+3
-3
arch/ppc64/xmon/xmon.c
arch/ppc64/xmon/xmon.c
+2
-108
No files found.
arch/ppc64/kernel/pSeries_lpar.c
View file @
8e9f9a37
...
...
@@ -523,10 +523,11 @@ void make_pte_LPAR(HPTE *htab,
local_hpte
.
dw0
.
dword0
=
0
;
local_hpte
.
dw0
.
dw0
.
avpn
=
va
>>
23
;
local_hpte
.
dw0
.
dw0
.
bolted
=
1
;
/* bolted */
if
(
large
)
local_hpte
.
dw0
.
dw0
.
l
=
1
;
/* large page */
local_hpte
.
dw0
.
dw0
.
v
=
1
;
/* Set CEC cookie to 0 */
/* Large page = 0 */
/* Zero page = 0 */
/* I-cache Invalidate = 0 */
/* I-cache synchronize = 0 */
...
...
arch/ppc64/kernel/signal.c
View file @
8e9f9a37
...
...
@@ -676,8 +676,8 @@ int do_signal(sigset_t *oldset, struct pt_regs *regs)
info
.
si_signo
=
signr
;
info
.
si_errno
=
0
;
info
.
si_code
=
SI_USER
;
info
.
si_pid
=
current
->
p
_pptr
->
pid
;
info
.
si_uid
=
current
->
p
_pptr
->
uid
;
info
.
si_pid
=
current
->
p
arent
->
pid
;
info
.
si_uid
=
current
->
p
arent
->
uid
;
}
/* If the (new) signal is now blocked, requeue it. */
...
...
@@ -722,7 +722,7 @@ int do_signal(sigset_t *oldset, struct pt_regs *regs)
case
SIGSTOP
:
current
->
state
=
TASK_STOPPED
;
current
->
exit_code
=
signr
;
if
(
!
(
current
->
p
_pptr
->
sig
->
action
[
SIGCHLD
-
1
].
sa
.
sa_flags
&
SA_NOCLDSTOP
))
if
(
!
(
current
->
p
arent
->
sig
->
action
[
SIGCHLD
-
1
].
sa
.
sa_flags
&
SA_NOCLDSTOP
))
notify_parent
(
current
,
SIGCHLD
);
schedule
();
continue
;
...
...
arch/ppc64/kernel/signal32.c
View file @
8e9f9a37
...
...
@@ -1375,8 +1375,8 @@ int do_signal32(sigset_t *oldset, struct pt_regs *regs)
info
.
si_signo
=
signr
;
info
.
si_errno
=
0
;
info
.
si_code
=
SI_USER
;
info
.
si_pid
=
current
->
p
_pptr
->
pid
;
info
.
si_uid
=
current
->
p
_pptr
->
uid
;
info
.
si_pid
=
current
->
p
arent
->
pid
;
info
.
si_uid
=
current
->
p
arent
->
uid
;
}
/* If the (new) signal is now blocked, requeue it. */
...
...
@@ -1416,7 +1416,7 @@ int do_signal32(sigset_t *oldset, struct pt_regs *regs)
case
SIGSTOP
:
current
->
state
=
TASK_STOPPED
;
current
->
exit_code
=
signr
;
if
(
!
(
current
->
p
_pptr
->
sig
->
action
[
SIGCHLD
-
1
].
sa
.
sa_flags
&
SA_NOCLDSTOP
))
if
(
!
(
current
->
p
arent
->
sig
->
action
[
SIGCHLD
-
1
].
sa
.
sa_flags
&
SA_NOCLDSTOP
))
notify_parent
(
current
,
SIGCHLD
);
schedule
();
continue
;
...
...
arch/ppc64/xmon/xmon.c
View file @
8e9f9a37
...
...
@@ -132,8 +132,7 @@ static void mem_map_check_slab(void);
static
void
mem_map_lock_pages
(
void
);
static
void
mem_map_check_hash
(
void
);
static
void
mem_check_dup_rpn
(
void
);
static
void
show_task
(
struct
task_struct
*
p
);
static
void
xmon_show_state
(
void
);
static
void
show_state
(
void
);
static
void
debug_trace
(
void
);
extern
int
print_insn_big_powerpc
(
FILE
*
,
unsigned
long
,
unsigned
long
);
...
...
@@ -716,7 +715,7 @@ cmds(struct pt_regs *excp)
printf
(
help_string
);
break
;
case
'p'
:
xmon_
show_state
();
show_state
();
break
;
case
'b'
:
bpt_cmds
();
...
...
@@ -2805,111 +2804,6 @@ void mem_check_full_group()
printf
(
"
\n
Done -------------------
\n
"
);
}
static
void
show_task
(
struct
task_struct
*
p
)
{
/* unsigned long free = 0; --Unused */
int
state
;
static
const
char
*
stat_nam
[]
=
{
"R"
,
"S"
,
"D"
,
"Z"
,
"T"
,
"W"
};
printf
(
"--------------------------------------------------------------------------
\n
"
);
printf
(
"%-11.11s pid: %5.5lx ppid: %5.5lx state: "
,
p
->
comm
,
p
->
pid
,
p
->
p_pptr
->
pid
);
state
=
p
->
state
?
ffz
(
~
p
->
state
)
+
1
:
0
;
if
(((
unsigned
)
state
)
<
sizeof
(
stat_nam
)
/
sizeof
(
char
*
))
printf
(
stat_nam
[
state
]);
else
printf
(
" "
);
if
(
p
==
current
)
printf
(
" pc: current task "
);
else
printf
(
" pc: 0x%16.16lx "
,
thread_saved_pc
(
&
p
->
thread
));
if
(
p
->
p_cptr
)
printf
(
"%5d "
,
p
->
p_cptr
->
pid
);
else
printf
(
" "
);
if
(
!
p
->
mm
)
printf
(
" (L-TLB) "
);
else
printf
(
" (NOTLB) "
);
if
(
p
->
p_ysptr
)
printf
(
"%7d"
,
p
->
p_ysptr
->
pid
);
else
printf
(
" "
);
if
(
p
->
p_osptr
)
printf
(
" %5d
\n
"
,
p
->
p_osptr
->
pid
);
else
printf
(
"
\n
"
);
{
struct
sigqueue
*
q
;
char
s
[
sizeof
(
sigset_t
)
*
2
+
1
],
b
[
sizeof
(
sigset_t
)
*
2
+
1
];
render_sigset_t
(
&
p
->
pending
.
signal
,
s
);
render_sigset_t
(
&
p
->
blocked
,
b
);
printf
(
" sig: %d %s %s :"
,
signal_pending
(
p
),
s
,
b
);
for
(
q
=
p
->
pending
.
head
;
q
;
q
=
q
->
next
)
printf
(
" %d"
,
q
->
info
.
si_signo
);
printf
(
" X
\n
"
);
}
printf
(
" pers : %lx current : %lx"
,
p
->
personality
,
p
);
printf
(
"
\n
"
);
printf
(
" thread : 0x%16.16lx ksp : 0x%16.16lx
\n
"
,
&
(
p
->
thread
),
(
p
->
thread
.
ksp
));
printf
(
" pgdir : 0x%16.16lx
\n
"
,
(
p
->
thread
.
pgdir
));
printf
(
" regs : 0x%16.16lx sysc : 0x%16.16lx
\n
"
,
(
p
->
thread
.
regs
),
(
p
->
thread
.
last_syscall
));
if
(
p
->
thread
.
regs
)
{
printf
(
" nip : 0x%16.16lx msr : 0x%16.16lx
\n
"
,
((
p
->
thread
.
regs
)
->
nip
),
((
p
->
thread
.
regs
)
->
msr
));
printf
(
" ctr : 0x%16.16lx link : 0x%16.16lx
\n
"
,
((
p
->
thread
.
regs
)
->
ctr
),
((
p
->
thread
.
regs
)
->
link
));
printf
(
" xer : 0x%16.16lx ccr : 0x%16.16lx
\n
"
,
((
p
->
thread
.
regs
)
->
xer
),
((
p
->
thread
.
regs
)
->
ccr
));
printf
(
" trap : 0x%16.16lx
\n
"
,
((
p
->
thread
.
regs
)
->
trap
));
printf
(
" dar : 0x%16.16lx dsis : 0x%16.16lx
\n
"
,
((
p
->
thread
.
regs
)
->
dar
),
((
p
->
thread
.
regs
)
->
dsisr
));
printf
(
" rslt : 0x%16.16lx org3 : 0x%16.16lx
\n
"
,
((
p
->
thread
.
regs
)
->
result
),
(
p
->
thread
.
regs
->
orig_gpr3
));
}
if
(
p
->
mm
)
{
struct
mm_struct
*
mm
=
p
->
mm
;
printf
(
" mm : 0x%16.16lx pgd : 0x%16.16lx
\n
"
,
mm
,
mm
->
pgd
);
printf
(
" context: 0x%16.16lx mmap : 0x%16.16lx
\n
"
,
mm
->
context
,
mm
->
mmap
);
printf
(
"
\n
"
);
}
}
static
void
xmon_show_state
(
void
)
{
struct
task_struct
*
p
;
#if (BITS_PER_LONG == 32)
printf
(
"
\n
"
" free sibling
\n
"
);
printf
(
"task name st PC stack pid father child younger older
\n
"
);
#else
printf
(
"
\n
"
" free sibling
\n
"
);
printf
(
" task PC stack pid father child younger older
\n
"
);
#endif
read_lock
(
&
tasklist_lock
);
for_each_task
(
p
)
show_task
(
p
);
read_unlock
(
&
tasklist_lock
);
}
static
void
debug_trace
(
void
)
{
unsigned
long
val
,
cmd
,
on
;
...
...
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