Re: Initial POWER9 port of GNU Mach
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
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
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
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
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
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
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
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
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