linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] UML - SYSEMU fixes
@ 2004-12-03 21:45 Jeff Dike
  2004-12-04 11:28 ` Jon Masters
  0 siblings, 1 reply; 8+ messages in thread
From: Jeff Dike @ 2004-12-03 21:45 UTC (permalink / raw)
  To: akpm; +Cc: linux-kernel, Blaisorblade, Bodo Stroesser

From: Bodo Stroesser <bstroesser@fujitsu-siemens.com>

Usage of SYSEMU in TT mode is modified, so that always the
same method is used in do_syscall as has been used before in
ptrace(PTRACE_SYSCALL/SYSEMU, ...)

Signed-off-by: Bodo Stroesser <bstroesser@fujitsu-siemens.com>
Signed-off-by: Jeff Dike <jdike@addtoit.com>

Index: 2.6.9/arch/um/kernel/tt/include/tt.h
===================================================================
--- 2.6.9.orig/arch/um/kernel/tt/include/tt.h	2004-12-01 23:47:11.000000000 -0500
+++ 2.6.9/arch/um/kernel/tt/include/tt.h	2004-12-01 23:53:37.000000000 -0500
@@ -26,7 +26,7 @@
 extern int is_tracing(void *task);
 extern void syscall_handler(int sig, union uml_pt_regs *regs);
 extern void exit_kernel(int pid, void *task);
-extern int do_syscall(void *task, int pid, int local_using_sysemu);
+extern void do_syscall(void *task, int pid, int local_using_sysemu);
 extern void do_sigtrap(void *task);
 extern int is_valid_pid(int pid);
 extern void remap_data(void *segment_start, void *segment_end, int w);
Index: 2.6.9/arch/um/kernel/tt/syscall_user.c
===================================================================
--- 2.6.9.orig/arch/um/kernel/tt/syscall_user.c	2004-12-01 23:47:11.000000000 -0500
+++ 2.6.9/arch/um/kernel/tt/syscall_user.c	2004-12-01 23:53:37.000000000 -0500
@@ -48,7 +48,7 @@
 	UPT_SYSCALL_NR(TASK_REGS(task)) = -1;
 }
 
-int do_syscall(void *task, int pid, int local_using_sysemu)
+void do_syscall(void *task, int pid, int local_using_sysemu)
 {
 	unsigned long proc_regs[FRAME_SIZE];
 
@@ -62,14 +62,11 @@
 	   ((unsigned long *) PT_IP(proc_regs) <= &_etext))
 		tracer_panic("I'm tracing myself and I can't get out");
 
-	if(local_using_sysemu)
-		return(1);
-
+	/* syscall number -1 in sysemu skips syscall restarting in host */
 	if(ptrace(PTRACE_POKEUSER, pid, PT_SYSCALL_NR_OFFSET, 
-		  __NR_getpid) < 0)
+		  local_using_sysemu ? -1 : __NR_getpid) < 0)
 		tracer_panic("do_syscall : Nullifying syscall failed, "
 			     "errno = %d", errno);
-	return(1);
 }
 
 /*
Index: 2.6.9/arch/um/kernel/tt/tracer.c
===================================================================
--- 2.6.9.orig/arch/um/kernel/tt/tracer.c	2004-12-01 23:51:02.000000000 -0500
+++ 2.6.9/arch/um/kernel/tt/tracer.c	2004-12-01 23:53:37.000000000 -0500
@@ -186,7 +186,7 @@
 	unsigned long eip = 0;
 	int status, pid = 0, sig = 0, cont_type, tracing = 0, op = 0;
 	int last_index, proc_id = 0, n, err, old_tracing = 0, strace = 0;
-	int pt_syscall_parm, local_using_sysemu;
+	int pt_syscall_parm, local_using_sysemu = 0;
 
 	signal(SIGPIPE, SIG_IGN);
 	setup_tracer_winch();
@@ -307,9 +307,6 @@
 			if ( tracing )
 				do_sigtrap(task);
 
-			local_using_sysemu = get_using_sysemu();
-			pt_syscall_parm = local_using_sysemu ? PTRACE_SYSEMU : PTRACE_SYSCALL;
-
 			switch(sig){
 			case SIGUSR1:
 				sig = 0;
@@ -393,6 +390,9 @@
 				continue;
 			}
 
+			local_using_sysemu = get_using_sysemu();
+			pt_syscall_parm = local_using_sysemu ? PTRACE_SYSEMU : PTRACE_SYSCALL;
+
 			if(tracing){
 				if(singlestepping(task))
 					cont_type = PTRACE_SINGLESTEP;


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] UML - SYSEMU fixes
  2004-12-03 21:45 [PATCH] UML - SYSEMU fixes Jeff Dike
@ 2004-12-04 11:28 ` Jon Masters
  2004-12-04 11:35   ` Jon Masters
  2004-12-05  8:19   ` Jeff Dike
  0 siblings, 2 replies; 8+ messages in thread
From: Jon Masters @ 2004-12-04 11:28 UTC (permalink / raw)
  To: Jeff Dike; +Cc: akpm, linux-kernel, Blaisorblade, Bodo Stroesser

On Fri, 03 Dec 2004 16:45:26 -0500, Jeff Dike <jdike@addtoit.com> wrote:

> Usage of SYSEMU in TT mode is modified, so that always the
> same method is used in do_syscall as has been used before in
> ptrace(PTRACE_SYSCALL/SYSEMU, ...)

That's great, but do any of these patches address various undefines in
arch/um/kernel/process.c:check_sysemu when built without skas?

Jon.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] UML - SYSEMU fixes
  2004-12-04 11:28 ` Jon Masters
@ 2004-12-04 11:35   ` Jon Masters
  2004-12-05  8:19   ` Jeff Dike
  1 sibling, 0 replies; 8+ messages in thread
From: Jon Masters @ 2004-12-04 11:35 UTC (permalink / raw)
  To: Jeff Dike; +Cc: akpm, linux-kernel, Blaisorblade, Bodo Stroesser

On Sat, 4 Dec 2004 11:28:28 +0000, Jon Masters <jonmasters@gmail.com> wrote:
> On Fri, 03 Dec 2004 16:45:26 -0500, Jeff Dike <jdike@addtoit.com> wrote:
> 
> > Usage of SYSEMU in TT mode is modified, so that always the
> > same method is used in do_syscall as has been used before in
> > ptrace(PTRACE_SYSCALL/SYSEMU, ...)
> 
> That's great, but do any of these patches address various undefines in
> arch/um/kernel/process.c:check_sysemu when built without skas?

Also, on 2.6.9, I get dud CFLAGS defined when CONFIG_PROF is set *and*
CONFIG_FRAME_POINTER is also set - gcc complains about use of "-gp"
and "-fomit-frame-pointer" but surely it should be building with frame
pointers anyway if I've asked it to do so?

Jon.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] UML - SYSEMU fixes
  2004-12-04 11:28 ` Jon Masters
  2004-12-04 11:35   ` Jon Masters
@ 2004-12-05  8:19   ` Jeff Dike
  2004-12-05 13:30     ` Jon Masters
  1 sibling, 1 reply; 8+ messages in thread
From: Jeff Dike @ 2004-12-05  8:19 UTC (permalink / raw)
  To: jonathan; +Cc: akpm, linux-kernel, Blaisorblade, Bodo Stroesser

jonmasters@gmail.com said:
> That's great, but do any of these patches address various undefines in
> arch/um/kernel/process.c:check_sysemu when built without skas? 

Apparently they did.  I just checked with skas turned off and got a successful
build.

> Also, on 2.6.9, I get dud CFLAGS defined when CONFIG_PROF is set *and*
> CONFIG_FRAME_POINTER is also set - gcc complains about use of "-gp"
> and "-fomit-frame-pointer" but surely it should be building with frame
> pointers anyway if I've asked it to do so? 

I just checked with that config, and it builds fine.

				Jeff


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] UML - SYSEMU fixes
  2004-12-05  8:19   ` Jeff Dike
@ 2004-12-05 13:30     ` Jon Masters
  2004-12-06 19:17       ` Blaisorblade
  0 siblings, 1 reply; 8+ messages in thread
From: Jon Masters @ 2004-12-05 13:30 UTC (permalink / raw)
  To: Jeff Dike; +Cc: akpm, linux-kernel, Blaisorblade, Bodo Stroesser

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Jeff Dike wrote:

| jonmasters@gmail.com said:
|
|>That's great, but do any of these patches address various undefines in
|>arch/um/kernel/process.c:check_sysemu when built without skas?
|
|
| Apparently they did.  I just checked with skas turned off and got a
successful
| build.

Good. I've got a working build on an Intel box but it's being more
stubburn building for ppc in 2.6.9 - I'll post an update when I've
actually looked at it.

|>Also, on 2.6.9, I get dud CFLAGS defined when CONFIG_PROF is set *and*
|>CONFIG_FRAME_POINTER is also set - gcc complains about use of "-gp"
|>and "-fomit-frame-pointer" but surely it should be building with frame
|>pointers anyway if I've asked it to do so?
|
|
| I just checked with that config, and it builds fine.

Oh good. Then it works now.

Cheers,

Jon.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFBsw1reTyyexZHHxERAs34AJ9yXOHe84a73sy81zC3hfSApH67NwCfZPlq
xWiHY1jlmBPftJeIfgtbur4=
=NxJe
-----END PGP SIGNATURE-----

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] UML - SYSEMU fixes
  2004-12-05 13:30     ` Jon Masters
@ 2004-12-06 19:17       ` Blaisorblade
  2004-12-06 23:56         ` Jon Masters
  0 siblings, 1 reply; 8+ messages in thread
From: Blaisorblade @ 2004-12-06 19:17 UTC (permalink / raw)
  To: Jon Masters; +Cc: Jeff Dike, akpm, linux-kernel, Bodo Stroesser

On Sunday 05 December 2004 14:30, Jon Masters wrote:
> Jeff Dike wrote:
> | jonmasters@gmail.com said:
> |>That's great, but do any of these patches address various undefines in
> |>arch/um/kernel/process.c:check_sysemu when built without skas?

> | Apparently they did.  I just checked with skas turned off and got a

> successful

> | build.

They don't - check_sysemu is used also in TT mode.

> Good. I've got a working build on an Intel box but it's being more
> stubburn building for ppc in 2.6.9 - I'll post an update when I've
> actually looked at it.

PPC port is not maintained at the moment - there are some rumors of somebody 
reviving it, but nothing is certain.

> |>Also, on 2.6.9, I get dud CFLAGS defined when CONFIG_PROF is set *and*
> |>CONFIG_FRAME_POINTER is also set - gcc complains about use of "-gp"
> |>and "-fomit-frame-pointer" but surely it should be building with frame
> |>pointers anyway if I've asked it to do so?

I saw that from someone else - I don't remember what was the problem, but it 
seemed to be some strange kind of .config. Make sure that CONFIG_DEBUG_INFO 
and CONFIG_FRAME_POINTER are both set (the second is the needed one, the 
first implies the second for UML).

"make oldconfig ARCH=um" should fix such problems.

> | I just checked with that config, and it builds fine.

> Oh good. Then it works now.

> Cheers,

> Jon.

-- 
Paolo Giarrusso, aka Blaisorblade
Linux registered user n. 292729
http://www.user-mode-linux.org/~blaisorblade

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] UML - SYSEMU fixes
  2004-12-06 19:17       ` Blaisorblade
@ 2004-12-06 23:56         ` Jon Masters
  2004-12-07  0:36           ` Blaisorblade
  0 siblings, 1 reply; 8+ messages in thread
From: Jon Masters @ 2004-12-06 23:56 UTC (permalink / raw)
  To: Blaisorblade; +Cc: Jeff Dike, akpm, linux-kernel, Bodo Stroesser

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Blaisorblade wrote:

| On Sunday 05 December 2004 14:30, Jon Masters wrote:

|>Jeff Dike wrote:
|>| jonmasters@gmail.com said:
|>|>That's great, but do any of these patches address various undefines in
|>|>arch/um/kernel/process.c:check_sysemu when built without skas?

|>| Apparently they did.  I just checked with skas turned off and got a
|>| successful build.

| They don't - check_sysemu is used also in TT mode.

I wasn't building for me, but I've not applied these patches yet.

|>Good. I've got a working build on an Intel box but it's being more
|>stubburn building for ppc in 2.6.9 - I'll post an update when I've
|>actually looked at it.

| PPC port is not maintained at the moment - there are some rumors of
somebody
| reviving it, but nothing is certain.

I want it for unrelated reasons, but I don't want to say I'll do it
because I probably won't find some time to do it :-)

(I will look though - it would be nice to have UML building on ppc since
that's what I have with me most of the time)

|>|>Also, on 2.6.9, I get dud CFLAGS defined when CONFIG_PROF is set *and*
|>|>CONFIG_FRAME_POINTER is also set - gcc complains about use of "-gp"
|>|>and "-fomit-frame-pointer" but surely it should be building with frame
|>|>pointers anyway if I've asked it to do so?

| I saw that from someone else - I don't remember what was the problem,
but it
| seemed to be some strange kind of .config. Make sure that
CONFIG_DEBUG_INFO
| and CONFIG_FRAME_POINTER are both set (the second is the needed one, the
| first implies the second for UML).
|
| "make oldconfig ARCH=um" should fix such problems.

Nope. My config wasn't that strange either - but I'm perfectly able to
figure out why it's breaking though. I just wanted to mention it.

Jon.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFBtPHKeTyyexZHHxERAuNaAJ9VlY9c//XhS/OtkcoVU1jl0KGIhQCgifyp
tgaWdko23Sztn76TyCGEbPg=
=SHSz
-----END PGP SIGNATURE-----

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] UML - SYSEMU fixes
  2004-12-06 23:56         ` Jon Masters
@ 2004-12-07  0:36           ` Blaisorblade
  0 siblings, 0 replies; 8+ messages in thread
From: Blaisorblade @ 2004-12-07  0:36 UTC (permalink / raw)
  To: Jon Masters; +Cc: Jeff Dike, akpm, linux-kernel, Bodo Stroesser

On Tuesday 07 December 2004 00:56, Jon Masters wrote:
> Blaisorblade wrote:
> | On Sunday 05 December 2004 14:30, Jon Masters wrote:
> |>Jeff Dike wrote:
> |>| jonmasters@gmail.com said:
> |>|>That's great, but do any of these patches address various undefines in
> |>|>arch/um/kernel/process.c:check_sysemu when built without skas?
> |>|
> |>| Apparently they did.  I just checked with skas turned off and got a
> |>| successful build.
> |
> | They don't - check_sysemu is used also in TT mode.

> I wasn't building for me, but I've not applied these patches yet.

> |>Good. I've got a working build on an Intel box but it's being more
> |>stubburn building for ppc in 2.6.9 - I'll post an update when I've
> |>actually looked at it.
> |
> | PPC port is not maintained at the moment - there are some rumors of

> somebody

> | reviving it, but nothing is certain.

> I want it for unrelated reasons, but I don't want to say I'll do it
> because I probably won't find some time to do it :-)

> (I will look though - it would be nice to have UML building on ppc since
> that's what I have with me most of the time)

If you search on uml-devel and/or uml-user:

http://marc.theaimsgroup.com/?l=user-mode-linux-user&r=1&w=2

http://marc.theaimsgroup.com/?l=user-mode-linux-devel&r=1&w=2
 
you'll find 
> |>|>Also, on 2.6.9, I get dud CFLAGS defined when CONFIG_PROF is set *and*
> |>|>CONFIG_FRAME_POINTER is also set - gcc complains about use of "-gp"
> |>|>and "-fomit-frame-pointer" but surely it should be building with frame
> |>|>pointers anyway if I've asked it to do so?
> |
> | I saw that from someone else - I don't remember what was the problem,

> but it

> | seemed to be some strange kind of .config. Make sure that

> CONFIG_DEBUG_INFO

> | and CONFIG_FRAME_POINTER are both set (the second is the needed one, the
> | first implies the second for UML).
> |
> | "make oldconfig ARCH=um" should fix such problems.

> Nope. My config wasn't that strange either - but I'm perfectly able to
> figure out why it's breaking though. I just wanted to mention it.
Yes, that's always appreciated... however, the dependencies between options 
seem correct, i.e. you can enable the -pg flag (for Gprof, IIRC) only if you 
have enabled debugging info, which also disables -fomit-frame-pointer.
> Jon.

-- 
Paolo Giarrusso, aka Blaisorblade
Linux registered user n. 292729
http://www.user-mode-linux.org/~blaisorblade

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2004-12-07  0:32 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-12-03 21:45 [PATCH] UML - SYSEMU fixes Jeff Dike
2004-12-04 11:28 ` Jon Masters
2004-12-04 11:35   ` Jon Masters
2004-12-05  8:19   ` Jeff Dike
2004-12-05 13:30     ` Jon Masters
2004-12-06 19:17       ` Blaisorblade
2004-12-06 23:56         ` Jon Masters
2004-12-07  0:36           ` Blaisorblade

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).