Re: Initial POWER9 port of GNU Mach

2023-10-25 Thread jbranso
October 18, 2023 11:11 AM, "Tobias Alexandra Platen"  
wrote:

>> Hi,
>> 
>> On 17/10/23 3:10 am, Tobias Alexandra Platen wrote:
>> On Mon, 2023-10-16 at 02:39 +, Damien Zammit wrote:
> 
> I dont think that is correct. I often use -kernel flag with qemu
> to
> boot gnumach on i386.
> I think it supports multiboot so you may need to add some startup
> code to your ppc port?
>> Unfortunately I was unable to produce a multiboot kernel, as the
>> linker
>> failed. I have a workaround to run some parts of the kernel in
>> userspace, it is similar to the darlingserver:
>> https://docs.darlinghq.org/internals/darlingserver/index.html
>> 
>> Do you need help with the linker? What was the error?
> 
> Some PPC specific code that needs to be written, is not yet written.
> I'll soon investigate whats missing. I thing I can reuse 90 of the
> existing PPC OSFMK code (not the one from Apple).

Hey Tobias, I think you had mentioned that you were going create a
"Power9+" GNUMach git branch of your changes on savannah. I can't find
your branch here:
https://git.savannah.gnu.org/cgit/hurd/gnumach.git?h=master

No rush, I was just wanting people to be able to find your code.

I would also encourage you to reach out to Sergey.  He had a really 
descriptive email a while ago, where he described his debbugging 
workflow with gdb.  I can't find that email at the moment, but it definitely
needs to be added to the Hurd wiki.

Also, once you get something working, consider reaching out to Luca to
add some testing for the GNUMach Power9+ port. He's working on adding
testing for userspace programs. I'm not certain if his new testing code
has tests for GNUMach though...

https://lists.gnu.org/archive/html/bug-hurd/2023-10/msg00031.html



Re: Initial POWER9 port of GNU Mach

2023-10-19 Thread Tobias Alexandra Platen
On Thu, 2023-10-19 at 22:51 -0500, Nathan Dehnel wrote:
> Do you happen to have code available for your gnumach-in-userspace
> project? I'm interested in looking at it.
> 
I want to push my branch to Savannah in a branch. I'll do it on Sunday
evening.

Alex



Re: Initial POWER9 port of GNU Mach

2023-10-19 Thread Nathan Dehnel
Do you happen to have code available for your gnumach-in-userspace
project? I'm interested in looking at it.



Re: Initial POWER9 port of GNU Mach

2023-10-18 Thread Tobias Alexandra Platen
On Wed, 2023-10-18 at 08:07 +, Damien Zammit wrote:
> Hi,
> 
> On 17/10/23 3:10 am, Tobias Alexandra Platen wrote:
> > On Mon, 2023-10-16 at 02:39 +, Damien Zammit wrote:
> > > I dont think that is correct. I often use -kernel flag with qemu
> > > to
> > > boot gnumach on i386.
> > > I think it supports multiboot so you may need to add some startup
> > > code to your ppc port?
> > Unfortunately I was unable to produce a multiboot kernel, as the
> > linker
> > failed. I have a workaround to run some parts of the kernel in
> > userspace, it is similar to the darlingserver:
> > https://docs.darlinghq.org/internals/darlingserver/index.html
> 
> Do you need help with the linker?  What was the error?
Some PPC specific code that needs to be written, is not yet written.
I'll soon investigate whats missing. I thing I can reuse 90 of the
existing PPC OSFMK code (not the one from Apple).
> It would not be as useful to have gnumach running in userspace as
> having it run on bare metal.
> 
> Damien
> 




Re: Initial POWER9 port of GNU Mach

2023-10-18 Thread Damien Zammit
Hi,

On 17/10/23 3:10 am, Tobias Alexandra Platen wrote:
> On Mon, 2023-10-16 at 02:39 +, Damien Zammit wrote:
>> I dont think that is correct. I often use -kernel flag with qemu to
>> boot gnumach on i386.
>> I think it supports multiboot so you may need to add some startup
>> code to your ppc port?
> Unfortunately I was unable to produce a multiboot kernel, as the linker
> failed. I have a workaround to run some parts of the kernel in
> userspace, it is similar to the darlingserver:
> https://docs.darlinghq.org/internals/darlingserver/index.html

Do you need help with the linker?  What was the error?
It would not be as useful to have gnumach running in userspace as having it run 
on bare metal.

Damien




Re: Initial POWER9 port of GNU Mach

2023-10-14 Thread Tobias Alexandra Platen
On Sat, 2023-10-14 at 14:33 +, jbra...@dismail.de wrote:
> October 14, 2023 9:43 AM, "Tobias Alexandra Platen"
>  wrote:
> 
> > There is no startup code for powerpc that currently works, so I
> > duck-
> > taped everything that is not implemented yet. The OSFMK code that I
> > use is from 1994 and not ported yet. It only runs on a POWERMAC.
> > 
> > ./mach_kernel 
> > calling setup_main
> > void duct_sched_init(void)
> > void duct_vm_mem_bootstrap(void)
> > void duct_ipc_init(void)
> > void duct_machine_init(void)
> > void duct_mapable_time_init(void)
> > void duct_task_init(void)
> > void duct_thread_init(void)
> > void duct_swapper_init(void)
> > void duct_recompute_priorities(void* duct_ptr=(nil))
> > void duct_compute_mach_factor(void)
> > 
> > duct_start_kernel_threads enter
> > void duct_device_service_create(void)
> > void duct_bootstrap_create(void)
> > DONE: Become the pageout daemon.
> > duct_start_kernel_threads exit
> 
> Seems like you are getting somewhere.  May I ask what your interest
> is
> in porting to powerpc?  Do you own a Talos ?
Yes, I do. And I also do contribute to libre-soc. https://libre-soc.org
The reason why I switched to PowerPC is the Intel ME:
https://www.fsf.org/blogs/licensing/intel-me-and-why-we-should-get-rid-of-me
> 
> Joshua
> 




Re: Initial POWER9 port of GNU Mach

2023-10-14 Thread jbranso
October 14, 2023 9:43 AM, "Tobias Alexandra Platen"  
wrote:

> There is no startup code for powerpc that currently works, so I duck-
> taped everything that is not implemented yet. The OSFMK code that I
> use is from 1994 and not ported yet. It only runs on a POWERMAC.
> 
> ./mach_kernel 
> calling setup_main
> void duct_sched_init(void)
> void duct_vm_mem_bootstrap(void)
> void duct_ipc_init(void)
> void duct_machine_init(void)
> void duct_mapable_time_init(void)
> void duct_task_init(void)
> void duct_thread_init(void)
> void duct_swapper_init(void)
> void duct_recompute_priorities(void* duct_ptr=(nil))
> void duct_compute_mach_factor(void)
> 
> duct_start_kernel_threads enter
> void duct_device_service_create(void)
> void duct_bootstrap_create(void)
> DONE: Become the pageout daemon.
> duct_start_kernel_threads exit

Seems like you are getting somewhere.  May I ask what your interest is
in porting to powerpc?  Do you own a Talos ?

Joshua



Re: Initial POWER9 port of GNU Mach

2023-10-14 Thread Tobias Alexandra Platen


There is no startup code for powerpc that currently works, so I duck-
taped everything that is not implemented yet. The OSFMK code that I
use is from 1994 and not ported yet. It only runs on a POWERMAC.

./mach_kernel 
calling setup_main
void duct_sched_init(void)
void duct_vm_mem_bootstrap(void)
void duct_ipc_init(void)
void duct_machine_init(void)
void duct_mapable_time_init(void)
void duct_task_init(void)
void duct_thread_init(void)
void duct_swapper_init(void)
void duct_recompute_priorities(void* duct_ptr=(nil))
void duct_compute_mach_factor(void)

duct_start_kernel_threads enter
void duct_device_service_create(void)
void duct_bootstrap_create(void)
DONE: Become the pageout daemon.
duct_start_kernel_threads exit





Re: Initial POWER9 port of GNU Mach

2023-10-14 Thread Almudena Garcia
To test gnunach, you must run this to a virtual machine and debug from remote 
debugging.  You can't debug it like a common application.

Create a little VM from Qemu (using qemu-system-ppc) and run gnumach from it. 

El sábado 14 de octubre de 2023, Tobias Alexandra Platen escribió:
> cd gnumach/power9
> 
> gdb ./mach_kernel 
> GNU gdb (Debian 13.1-3) 13.1
> Copyright (C) 2023 Free Software Foundation, Inc.
> .
> Program received signal SIGSEGV, Segmentation fault.
> pset_sys_bootstrap () at kern/processor.c:84
> 84  processor_init(processor_ptr(i), i);
> (gdb) bt
> #0  pset_sys_bootstrap () at kern/processor.c:84
> #1  0x00010004e1a8 in sched_init () at kern/sched_prim.c:171
> #2  0x00015df4 in setup_main () at kern/startup.c:114
> #3  0x00011f00 in main ()
> (gdb) 
> 
> 
> 
>

-- 
Enviado desde mi dispositivo Sailfish