Damien Zammit, le lun. 30 juin 2025 03:55:11 +0000, a ecrit:
> I wanted to move things along for usb, I didn't realise the driver is 
> actually broken on master.
> 
> I'll have another go at separating the stack.

I don't think it's a problem of stack separation. Trying to separate
things into several processes will most probably only bring yet more
prblems.

Samuel

> -------- Original Message --------
> On 30/6/25 8:14 am, Samuel Thibault <samuel.thiba...@gnu.org> wrote:
> 
> >  Hello,
> >  
> >  Damien Zammit, le ven. 27 juin 2025 06:41:53 +0000, a ecrit:
> >  > This provides support for the /dev/ud* nodes
> >  > that pass through to /dev/usbdisk, and enables
> >  > usb disk support in the installer.
> >  >
> >  > UNTESTED
> >  
> >  Please do test changes.
> >  
> >  Writing changes that look reasonable is not what would consume me time.
> >  What consumes time is actually testing things and check that they go
> >  alright. I tried your change and immediately got
> >  
> >  [   1.0000000] Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 
> > 2003,
> >  [   1.0000000]     2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 
> > 2013,
> >  [   1.0000000]     2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 
> > 2023,
> >  [   1.0000000]     2024
> >  [   1.0000000]     The NetBSD Foundation, Inc.  All rights reserved.
> >  [   1.0000000] Copyright (c) 1982, 1986, 1989, 1991, 1993
> >  [   1.0000000]     The Regents of the University of California.  All 
> > rights reserved.
> >  
> >  [   1.0000000] NetBSD 10.99.12 (RUMP-ROAST)
> >  [   1.0000000] total memory = unlimited (host limit)
> >  [   1.0000000] entropy: ready
> >  [   1.0000000] timecounter: Timecounters tick every 10.000 msec
> >  [   1.0000040] timecounter: Timecounter "clockinterrupt" frequency 100 Hz 
> > quality 0
> >  [   1.0000050] cpu0 at thinair0: rump virtual cpu
> >  [   1.0000050] root file system type: rumpfs
> >  [   1.0000050] kern.module.path=/stand/amd64/10.99.12/modules
> >  [   1.0000050] mainbus0 (root)
> >  [   1.0000050] pci0 at mainbus0 bus 0
> >  [   1.0000050] pci0: i/o space, memory space enabled, rd/line, rd/mult, 
> > wr/inv ok
> >  [   1.0000050] vendor 8086 product 1237 (host bridge, revision 0x02) at 
> > pci0 dev 0 function 0 not configured
> >  [   1.0000050] vendor 8086 product 7000 (ISA bridge) at pci0 dev 1 
> > function 0 not configured
> >  [   1.0000050] vendor 8086 product 7010 (IDE mass storage, interface 0x80) 
> > at pci0 dev 1 function 1 not configured
> >  [   1.0000050] uhci0 at pci0 dev 1 function 2: vendor 8086 product 7020 
> > (rev. 0x01)
> >  irq handler [11]: new delivery port ffffffffde276910 entry ffffffffde72bc40
> >  /hurd/crash: /hurd/rumpusbdisk(1156) crashed, signal {no:11, code:2, 
> > error:2}, exception {1, code:2, subcode:40}, PCs: {
> >  0xd1fc2 0x34c979 0x8826c 0x5098b3,
> >  0xbaaec 0x32d74e 0xd0a52 0xd1b2a 0xca85b 0x3065b7 0x306625 0xea242 0xbb6a2 
> > 0xea2c0,
> >  0xbaaec 0x15e006 0x15e9e3 0x4ee9ad 0x4e59ff 0x4e1cb4 0x83588,
> >  0xbaaec 0x1a08c9 0x4ed524 0x4e51be 0x4e1cb4 0x83588,
> >  0xbaaec 0x15e006 0x15e9e3 0x4ee80d 0x4e5663 0x4e1cb4 0x83588,
> >  0xbaaec 0x15e006 0x15e9e3 0x4ee9ad 0x4e59ff 0x4e1cb4 0x83588, DUP, DUP,
> >  0xbaaec 0x15e006 0x15e9e3 0x4ee9ad 0x4de7ed 0x47ee96 0x4e1cb4 0x83588,
> >  0xbaaec 0x15f1c7 0x15e81c 0x4eeaba 0x4de7c1 0x4deb3b 0x4cba33 0x4e1cb4 
> > 0x83588,
> >  0xbaaec 0x15e006 0x15e9e3 0x4ee9ad 0x4de7ed 0x4e047c 0x4e1cb4 0x83588,
> >  0xbaaec 0x15e006 0x15e9e3 0x4ee9ad 0x4de7ed 0x4ab95a 0x4e1cb4 0x83588,
> >  0xbaaec 0x1a08c9 0x1b93d3 0x4ed4c1 0x4e5eb8 0x53ebd6 0x4e1cb4 0x83588,
> >  0xbaaec 0x15e006 0x15e9e3 0x4ee9ad 0x4de7ed 0x48000b 0x4e1cb4 0x83588, DUP,
> >  0x4ede44 0x42a3bd 0x5092f1 0xbb6a2 0x7981d 0x50931b
> >  }, killing task.
> >  
> >  And lost network access.
> >  
> >  Possibly the network access loss is due to the share irq.
> >  
> >  I however just don't have time to investigate problems that people throw
> >  at me.
> >  
> >  Do. test. your. changes.
> >  
> >  Samuel
> >  
> >  > ---
> >  >  debian/hurd-udeb.install.in        |  1 +
> >  >  debian/hurd-udeb.lintian-overrides |  2 ++
> >  >  debian/local/setup-translators     |  4 ++++
> >  >  debian/rules                       |  2 +-
> >  >  sutils/MAKEDEV.sh                  | 15 +++++++++++++--
> >  >  5 files changed, 21 insertions(+), 3 deletions(-)
> >  >
> >  > diff --git a/debian/hurd-udeb.install.in b/debian/hurd-udeb.install.in
> >  > index e0ad63c62..bede194e1 100644
> >  > --- a/debian/hurd-udeb.install.in
> >  > +++ b/debian/hurd-udeb.install.in
> >  > @@ -59,6 +59,7 @@ hurd/procfs
> >  >  hurd/proxy-defpager
> >  >  hurd/random
> >  >  hurd/rumpdisk
> >  > +hurd/rumpusbdisk
> >  >  hurd/shutdown
> >  >  hurd/storeio
> >  >  hurd/streamio
> >  > diff --git a/debian/hurd-udeb.lintian-overrides 
> > b/debian/hurd-udeb.lintian-overrides
> >  > index 7f499ee90..1caa33752 100644
> >  > --- a/debian/hurd-udeb.lintian-overrides
> >  > +++ b/debian/hurd-udeb.lintian-overrides
> >  > @@ -2,3 +2,5 @@ non-standard-toplevel-dir [hurd/]
> >  >  non-standard-toplevel-dir [servers/]
> >  >  package-contains-empty-directory [servers/]
> >  >  hurd-udeb udeb: embedded-library zlib [boot/ext2fs.static]
> >  > +hurd-udeb udeb: embedded-library librump [hurd/rumpdisk]
> >  > +hurd-udeb udeb: embedded-library librump [hurd/rumpusbdisk]
> >  > diff --git a/debian/local/setup-translators 
> > b/debian/local/setup-translators
> >  > index ad10aea8a..1e12c4d97 100755
> >  > --- a/debian/local/setup-translators
> >  > +++ b/debian/local/setup-translators
> >  > @@ -143,6 +143,10 @@ md rumpdisk
> >  >  md wdX 012345
> >  >  md wdXsY 012345 123456789
> >  >  md wdXs1Y 012345 0123456
> >  > +md rumpusbdisk
> >  > +md udX 012345
> >  > +md udXsY 012345 123456789
> >  > +md udXs1Y 012345 0123456
> >  >  md cdX 01
> >  >  md netdde
> >  >  md ethX 0123
> >  > diff --git a/debian/rules b/debian/rules
> >  > index a24179cba..658e8cc2f 100755
> >  > --- a/debian/rules
> >  > +++ b/debian/rules
> >  > @@ -29,7 +29,7 @@ TRANSLATORS_PROF = auth exec ext2fs pci-arbiter pfinet 
> > lwip pflocal proc procfs
> >  >
> >  >  CONFIGURE_ARGS = --build=$(DEB_BUILD_GNU_TYPE) 
> > --host=$(DEB_HOST_GNU_TYPE)
> >  >  ifeq (,$(filter stage1 stage2,$(DEB_BUILD_PROFILES)))
> >  > -CONFIGURE_ARGS += --disable-profile 
> > --enable-static-progs='ext2fs,iso9660fs,rumpdisk,pci-arbiter,acpi,startup,proc,auth,pfinet,pflocal'
> >  > +CONFIGURE_ARGS += --disable-profile 
> > --enable-static-progs='ext2fs,iso9660fs,rumpdisk,rumpusbdisk,pci-arbiter,acpi,startup,proc,auth,pfinet,pflocal'
> >  >  else
> >  >  CONFIGURE_ARGS += \
> >  >                   --disable-ncursesw \
> >  > diff --git a/sutils/MAKEDEV.sh b/sutils/MAKEDEV.sh
> >  > index de31c1bef..a67ff7a4b 100644
> >  > --- a/sutils/MAKEDEV.sh
> >  > +++ b/sutils/MAKEDEV.sh
> >  > @@ -185,7 +185,11 @@ mkdev() {
> >  >          st $I root 660 c /hurd/rumpdisk
> >  >          cmd ln -f -s rumpdisk disk
> >  >          ;;
> >  > -      [hrscw]d*)
> >  > +      rumpusbdisk)
> >  > +        st $I root 660 c /hurd/rumpusbdisk
> >  > +        cmd ln -f -s rumpusbdisk usbdisk
> >  > +        ;;
> >  > +      [hrscwu]d*)
> >  >          local sliceno=
> >  >          local n="${I#?d}"
> >  >          local major="${n%%[!0-9]*}"
> >  > @@ -220,16 +224,23 @@ mkdev() {
> >  >            lose "$I: Invalid slice or partition syntax"
> >  >            ;;
> >  >          esac
> >  > +
> >  > +        dev=${I%s[0-9]*}
> >  > +
> >  >          case "$I" in
> >  >          wd*|cd*)
> >  >            USE_PARTSTORE=1
> >  >            MASTER=@/dev/disk:
> >  >            ;;
> >  > +        ud*)
> >  > +          USE_PARTSTORE=1
> >  > +          MASTER=@/dev/usbdisk:
> >  > +          dev=${dev/u/s}
> >  > +          ;;
> >  >          esac
> >  >
> >  >          # The device name passed all syntax checks, so finally use it!
> >  >          if [ "$USE_PARTSTORE" ] && [ -z "$rest" ] && [ "$sliceno" ]; 
> > then
> >  > -          local dev=${I%s[0-9]*}
> >  >            st $I root 640 b /hurd/storeio -T typed 
> > part:$sliceno:device:$MASTER$dev
> >  >          else
> >  >            st $I root 640 b /hurd/storeio $MASTER$I
> >  > --
> >  > 2.45.2
> >  >
> >  >
> >  >
> >
> 

-- 
Samuel
The nice thing about Windows is - It does not just crash, it displays a
dialog box and lets you press 'OK' first.
(Arno Schaefer's .sig)

Reply via email to