Re: [PATCH 05/12] linux: Reduce worst case wait to 10 seconds for disks

2022-10-25 Thread Damien Zammit
On 26/10/22 9:03 am, Samuel Thibault wrote: > Why? > > If something is becoming so bad that it ends up waiting for that long, > there's something to fix, not to paper over it. Well, qemu has a cdrom drive by default and you cant remove it apparently. So my vm keeps probing the cdrom and failing in

Re: [PATCH 09/12] i386: Fix lapic and ioapic for smp

2022-10-25 Thread Damien Zammit
Hi, On 26/10/22 10:05 am, Samuel Thibault wrote: > Damien Zammit, le mar. 25 oct. 2022 10:56:20 +, a ecrit: >> +/* Grateful to trasterlabs for this snippet */ > > What is the copyright of this code? Almu, do you have this info? > Are these delays specified by Intel or something like that?

Re: [PATCH 12/12] i386: Refactor int stacks to be per cpu for SMP

2022-10-25 Thread Samuel Thibault
Damien Zammit, le mar. 25 oct. 2022 10:56:44 +, a ecrit: > diff --git a/i386/i386/cpu_number.h b/i386/i386/cpu_number.h > index 9aef6370..d56cb602 100644 > --- a/i386/i386/cpu_number.h > +++ b/i386/i386/cpu_number.h > @@ -35,14 +35,35 @@ > /* More-specific code must define cpu_number() and CPU

Re: [PATCH 10/12] Add cpu_number and cpuboot

2022-10-25 Thread Samuel Thibault
Damien Zammit, le mar. 25 oct. 2022 10:56:26 +, a ecrit: > +apboot_gdt: > + /* NULL segment */ > + .quad 0 > + /* boot CS = 8 . Code Segment*/ ? No, it's the actual KERNEL_CS > + .word 0x /* Segment limit first 0-15 bits*/ > + .word (-KERNELBASE) & 0x /*Base first

Re: [PATCH 09/12] i386: Fix lapic and ioapic for smp

2022-10-25 Thread Samuel Thibault
Damien Zammit, le mar. 25 oct. 2022 10:56:20 +, a ecrit: > diff --git a/i386/i386/apic.c b/i386/i386/apic.c > index 2e0c1776..b31162fe 100644 > --- a/i386/i386/apic.c > +++ b/i386/i386/apic.c > @@ -28,6 +30,7 @@ > volatile ApicLocalUnit* lapic = NULL; > > ApicInfo apic_data; > +ApicInfo *api

Re: [PATCH 08/12] i386: Add AP variants of descriptor tables

2022-10-25 Thread Samuel Thibault
Hello, Damien Zammit, le mar. 25 oct. 2022 10:56:13 +, a ecrit: > diff --git a/i386/i386/gdt.c b/i386/i386/gdt.c > index fb18360e..44bcd29c 100644 > --- a/i386/i386/gdt.c > +++ b/i386/i386/gdt.c > @@ -128,3 +135,39 @@ gdt_init(void) > #endif /* MACH_PV_PAGETABLES */ > } > > +#if NCPUS

Re: [PATCH 05/12] linux: Reduce worst case wait to 10 seconds for disks

2022-10-25 Thread Guillem Jover
Hi! On Tue, 2022-10-25 at 10:55:56 +, Damien Zammit wrote: > --- > linux/src/drivers/block/ide.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/linux/src/drivers/block/ide.h b/linux/src/drivers/block/ide.h > index 28e371bf..7630be2c 100644 > --- a/linux/src/drivers/

Re: [PATCH 07/12] i386/pit: Tune delays

2022-10-25 Thread Samuel Thibault
Applied, thanks! Damien Zammit, le mar. 25 oct. 2022 10:56:07 +, a ecrit: > - Add half a clock tick for more accuracy > - Start the pit countdown during pit_sleep > - Add pit_mdelay and pit_udelay functions > --- > i386/i386/pit.c | 24 > i386/i386/pit.h | 2 ++ > 2

Re: [PATCH 06/12] linux drivers: Don't depend on curr_pic_mask for APIC

2022-10-25 Thread Samuel Thibault
Applied, thanks! Damien Zammit, le mar. 25 oct. 2022 10:56:01 +, a ecrit: > --- > linux/dev/arch/i386/kernel/irq.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/linux/dev/arch/i386/kernel/irq.c > b/linux/dev/arch/i386/kernel/irq.c > index 656c1470..67feea84 10

Re: [PATCH 05/12] linux: Reduce worst case wait to 10 seconds for disks

2022-10-25 Thread Samuel Thibault
Why? If something is becoming so bad that it ends up waiting for that long, there's something to fix, not to paper over it. Damien Zammit, le mar. 25 oct. 2022 10:55:56 +, a ecrit: > --- > linux/src/drivers/block/ide.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a

Re: [PATCH 04/12] acpi: Add lapic_addr

2022-10-25 Thread Samuel Thibault
Applied, thanks! Damien Zammit, le mar. 25 oct. 2022 10:55:50 +, a ecrit: > --- > i386/i386at/acpi_parse_apic.c | 2 ++ > i386/i386at/acpi_parse_apic.h | 1 + > 2 files changed, 3 insertions(+) > > diff --git a/i386/i386at/acpi_parse_apic.c b/i386/i386at/acpi_parse_apic.c > index 3cf6f042..7

Re: [PATCH 02/12] kern/startup: Disable interrupts before starting APs

2022-10-25 Thread Samuel Thibault
Hello, Damien Zammit, le mar. 25 oct. 2022 10:55:36 +, a ecrit: > --- > kern/startup.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/kern/startup.c b/kern/startup.c > index 1f873192..499ef0f1 100644 > --- a/kern/startup.c > +++ b/kern/startup.c > @@ -242,6 +242,7 @@ void start_ker

Re: [PATCH 03/12] bios32: Use phystokv() on low bios addresses

2022-10-25 Thread Samuel Thibault
Applied, thanks! Damien Zammit, le mar. 25 oct. 2022 10:55:42 +, a ecrit: > --- > linux/src/arch/i386/kernel/bios32.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/linux/src/arch/i386/kernel/bios32.c > b/linux/src/arch/i386/kernel/bios32.c > index c10cc0c0..71

Re: [PATCH 01/12] kdb: Fix TODO for multiprocessor

2022-10-25 Thread Samuel Thibault
Applied, thanks! Damien Zammit, le mar. 25 oct. 2022 10:55:30 +, a ecrit: > --- > ddb/db_mp.h | 1 + > i386/i386/db_interface.c | 4 +++- > 2 files changed, 4 insertions(+), 1 deletion(-) > > diff --git a/ddb/db_mp.h b/ddb/db_mp.h > index b0d221ea..e32371d4 100644 > --- a/ddb/db

Re: [PATCH] ifconfig: Support prefix length.

2022-10-25 Thread Simon Josefsson via Bug reports for the GNU Hurd
I have committed this patch here: https://git.savannah.gnu.org/cgit/inetutils.git/commit/?id=afe3168ee9f15783c71653bee0ec97536daaf217 Btw, please add NEWS entries next time. I added the following, corrections welcome: https://git.savannah.gnu.org/cgit/inetutils.git/commit/?id=976de5463bedcd8060c7

Re: [PATCH] ifconfig hurd: Notify pfinet of interfaces

2022-10-25 Thread Simon Josefsson via Bug reports for the GNU Hurd
Hi. I have commited this now: https://git.savannah.gnu.org/cgit/inetutils.git/commit/?id=0b35abbd7a5d074c7e245a49585b2de036d4dec7 /Simon signature.asc Description: PGP signature

Re: [PATCH 12/12] i386: Refactor int stacks to be per cpu for SMP

2022-10-25 Thread Almudena Garcia
void start_other_cpus(void) { - int cpu; - for (cpu = 0; cpu < NCPUS; cpu++) - if (cpu != cpu_number()) - cpu_start(cpu); -} + unsigned long flags; + + cpu_intr_save(&flags); + + int ncpus = smp_get_numcpus(); + + //Copy cpu

Re: [PATCH 0/12 - gnumach] SMP almost working!

2022-10-25 Thread Almudena Garcia
Btw. Samuel, when you will apply these patches, could you add my name together the Damien's name as commit's author? In patches 2, 4, 8, 9, 10 and 12. These are based in my previous work. El martes 25 de octubre de 2022, Damien Zammit escribió: > This patch series is based on Almu's work on

Re: [PATCH 0/12 - gnumach] SMP almost working!

2022-10-25 Thread Almudena Garcia
Thanks!! Once this is checked that's fine, then SMP only needs to enable paging and add the AP processors to the scheduler. Once all AP will be in scheduler, we can check the real status of SMP, and apply other patches if necessary. El martes 25 de octubre de 2022, Damien Zammit escribió: > Hi

Re: [PATCH 0/12 - gnumach] SMP almost working!

2022-10-25 Thread Damien Zammit
Hi Almu! On 25/10/22 10:14 pm, Almudena Garcia wrote: > Are you already implemented startup IPI cicle? I was stucked raising it, > because the AP keep freezed after load GDT in gdt_init() Yes, I implemented new functions for setting gdt for APs (patch 8) and see patch 9 for startup IPI sequence

Re: [PATCH 0/12 - gnumach] SMP almost working!

2022-10-25 Thread Almudena Garcia
Are you already implemented startup IPI cicle? I was stucked raising it, because the AP keep freezed after load GDT in gdt_init() El martes 25 de octubre de 2022, Damien Zammit escribió: > This patch series is based on Almu's work on SMP, > with additional work by me and refactored for upstream.

[PATCH 03/12] bios32: Use phystokv() on low bios addresses

2022-10-25 Thread Damien Zammit
--- linux/src/arch/i386/kernel/bios32.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/linux/src/arch/i386/kernel/bios32.c b/linux/src/arch/i386/kernel/bios32.c index c10cc0c0..71cc3f98 100644 --- a/linux/src/arch/i386/kernel/bios32.c +++ b/linux/src/arch/i386/kernel/bios

[PATCH 09/12] i386: Fix lapic and ioapic for smp

2022-10-25 Thread Damien Zammit
--- i386/i386/apic.c | 91 +++ i386/i386/apic.h | 110 +-- i386/i386/smp.c | 88 +- i386/i386/smp.h | 7 +++ i386/i386at/ioapic.c | 103

[PATCH 02/12] kern/startup: Disable interrupts before starting APs

2022-10-25 Thread Damien Zammit
--- kern/startup.c | 1 + 1 file changed, 1 insertion(+) diff --git a/kern/startup.c b/kern/startup.c index 1f873192..499ef0f1 100644 --- a/kern/startup.c +++ b/kern/startup.c @@ -242,6 +242,7 @@ void start_kernel_threads(void) /* * Allow other CPUs to run. */ +

[PATCH 05/12] linux: Reduce worst case wait to 10 seconds for disks

2022-10-25 Thread Damien Zammit
--- linux/src/drivers/block/ide.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/linux/src/drivers/block/ide.h b/linux/src/drivers/block/ide.h index 28e371bf..7630be2c 100644 --- a/linux/src/drivers/block/ide.h +++ b/linux/src/drivers/block/ide.h @@ -160,7 +160,7 @@ typedef un

[PATCH 0/12 - gnumach] SMP almost working!

2022-10-25 Thread Damien Zammit
This patch series is based on Almu's work on SMP, with additional work by me and refactored for upstream. My goal is to have --enable-ncpus=X and --{enable/disable}-apic working with X >= 1. That means PIC should still work with SMP on i386. With --enable-ncpus=1 and --disable-apic it still work

[PATCH 08/12] i386: Add AP variants of descriptor tables

2022-10-25 Thread Damien Zammit
--- i386/i386/gdt.c | 63 ++--- i386/i386/gdt.h | 1 + i386/i386/idt-gen.h | 4 +++ i386/i386/idt.c | 40 -- i386/i386/ktss.c| 36 +++ i386/i386/ktss.h| 1 + i386/i386/ldt

[PATCH 12/12] i386: Refactor int stacks to be per cpu for SMP

2022-10-25 Thread Damien Zammit
--- i386/Makefrag.am | 6 + i386/i386/cpu_number.h | 31 ++- i386/i386/cswitch.S | 4 +- i386/i386/locore.S | 48 ++-- i386/i386/mp_desc.c | 366 +-- i386/i386/mp_desc.h | 9 +- i386/

[PATCH 11/12] i386: Fix race in multiprocessor ktss

2022-10-25 Thread Damien Zammit
--- i386/i386/io_perm.c | 5 --- i386/i386/pcb.c | 79 - 2 files changed, 43 insertions(+), 41 deletions(-) diff --git a/i386/i386/io_perm.c b/i386/i386/io_perm.c index 6db60f73..d9c646fe 100644 --- a/i386/i386/io_perm.c +++ b/i386/i386/io_perm.c @

[PATCH 06/12] linux drivers: Don't depend on curr_pic_mask for APIC

2022-10-25 Thread Damien Zammit
--- linux/dev/arch/i386/kernel/irq.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/linux/dev/arch/i386/kernel/irq.c b/linux/dev/arch/i386/kernel/irq.c index 656c1470..67feea84 100644 --- a/linux/dev/arch/i386/kernel/irq.c +++ b/linux/dev/arch/i386/kernel/irq.c @@ -363,7 +

[PATCH 10/12] Add cpu_number and cpuboot

2022-10-25 Thread Damien Zammit
--- i386/i386/cpu_number.c | 37 ++ i386/i386/cpuboot.S| 157 + 2 files changed, 194 insertions(+) create mode 100644 i386/i386/cpu_number.c create mode 100644 i386/i386/cpuboot.S diff --git a/i386/i386/cpu_number.c b/i386/i386/cpu_number.c n

[PATCH 07/12] i386/pit: Tune delays

2022-10-25 Thread Damien Zammit
- Add half a clock tick for more accuracy - Start the pit countdown during pit_sleep - Add pit_mdelay and pit_udelay functions --- i386/i386/pit.c | 24 i386/i386/pit.h | 2 ++ 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/i386/i386/pit.c b/i386/i386/pit

[PATCH 04/12] acpi: Add lapic_addr

2022-10-25 Thread Damien Zammit
--- i386/i386at/acpi_parse_apic.c | 2 ++ i386/i386at/acpi_parse_apic.h | 1 + 2 files changed, 3 insertions(+) diff --git a/i386/i386at/acpi_parse_apic.c b/i386/i386at/acpi_parse_apic.c index 3cf6f042..712de689 100644 --- a/i386/i386at/acpi_parse_apic.c +++ b/i386/i386at/acpi_parse_apic.c @@ -33

[PATCH 01/12] kdb: Fix TODO for multiprocessor

2022-10-25 Thread Damien Zammit
--- ddb/db_mp.h | 1 + i386/i386/db_interface.c | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/ddb/db_mp.h b/ddb/db_mp.h index b0d221ea..e32371d4 100644 --- a/ddb/db_mp.h +++ b/ddb/db_mp.h @@ -22,6 +22,7 @@ void remote_db(void); void lock_db(void); void