2006-01-24 00:38:43

by Chuck Ebbert

[permalink] [raw]
Subject: [patch 0/9] Shared ia32 syscall table

This patch series updates i386 and x86_64 so they share
the same ia32 syscall table. UML already uses the i386
table and is updated to use the new shared table as well.

This series does not convert unistd.h.

Tested by building and booting UML, i386 and x86_64
(x86_64 was booted with 32-bit userspace.)

All three archs should work at all intermediate steps but
that was not tested.


00-description
This file.

01_uml_rename_syscalls.patch
Make UML compatible with to-be-renamed i386 syscalls.

02_i386_rename_syscalls.patch
Rename some i386 syscalls so they match x86_64.

03_i386_add_new_table.patch
Create new shared syscall table.

04_i386_shared_syscall.patch
Convert i386 to using new table.

05_uml_shared_syscall.patch
Convert UML to using new table.

06_x86_64_rename_syscalls.patch
Rename some ia32 syscalls to make shared table possible.

07_x86_64_shared_syscall.patch
Convert x86_64.

08_i386_remove_old_table.patch
Remove old i386 syscall table.

09_x86_64_remove_old_table.patch
Remove old x86_64 syscall table.

--
Chuck


2006-01-24 00:42:57

by Andi Kleen

[permalink] [raw]
Subject: Re: [patch 0/9] Shared ia32 syscall table

On Tuesday 24 January 2006 01:36, Chuck Ebbert wrote:
> This patch series updates i386 and x86_64 so they share
> the same ia32 syscall table. UML already uses the i386
> table and is updated to use the new shared table as well.

That's wrong for x86-64. The IA32 syscall table needs
to point to compat_* version of syscalls, while the native
IA32 table uses sys_* directly.

-Andi

2006-01-24 08:56:07

by Chuck Ebbert

[permalink] [raw]
Subject: Re: [patch 0/9] Shared ia32 syscall table

In-Reply-To: <[email protected]>

On Tue, 24 Jan 2006 at 01:41:07 +0100, Andi Kleen wrote:

> On Tuesday 24 January 2006 01:36, Chuck Ebbert wrote:
> > This patch series updates i386 and x86_64 so they share
> > the same ia32 syscall table. UML already uses the i386
> > table and is updated to use the new shared table as well.
>
> That's wrong for x86-64. The IA32 syscall table needs
> to point to compat_* version of syscalls, while the native
> IA32 table uses sys_* directly.

How could I have possibly gotten a successful boot of an i386
distro on top of the patched x86_64 kernel if this were wrong?

Did you even look at the patches?
--
Chuck

2006-01-24 09:07:00

by Andi Kleen

[permalink] [raw]
Subject: Re: [patch 0/9] Shared ia32 syscall table

On Tuesday 24 January 2006 09:53, Chuck Ebbert wrote:
> In-Reply-To: <[email protected]>
>
> On Tue, 24 Jan 2006 at 01:41:07 +0100, Andi Kleen wrote:
>
> > On Tuesday 24 January 2006 01:36, Chuck Ebbert wrote:
> > > This patch series updates i386 and x86_64 so they share
> > > the same ia32 syscall table. UML already uses the i386
> > > table and is updated to use the new shared table as well.
> >
> > That's wrong for x86-64. The IA32 syscall table needs
> > to point to compat_* version of syscalls, while the native
> > IA32 table uses sys_* directly.
>
> How could I have possibly gotten a successful boot of an i386
> distro on top of the patched x86_64 kernel if this were wrong?
>
> Did you even look at the patches?

No, because they arrived more than an hour after the initial
description and i just replied to that.

Looking at the patch I must say I prefer the old straight
table over your #define mess.

-Andi