History log of /src/sys/arch/usermode/dev/ld_thunkbus.c |
Revision | | Date | Author | Comments |
1.34 |
| 13-Apr-2025 |
rin | ld(4): Convert blkno argument for sc_dump() to daddr_t
PR kern/59153
(1) For backends that accept 64-bit block address, i.e., nvme(4), virtio(4), aac(4), iop(4), and mainbus(usermode/4), this should enable to dump beyond 2Gi blocks.
(2) sdmmc(4) backend allows to dump up to the last block.
(3) For other backends, block address is handled as `int`. Some of them may support blocks up to 4Gi, but I do not have enough time to examine datasheets. So, continue to reject >2Gi blocks as before.
XXX This is KABI change, and cannot be pulled up into netbsd-{10,9}.
XXX Compile-test only (for amd64/ALL) due to lack of large SSDs ;)
Thanks mlelstv@ for discussion and careful review!!
|
1.33 |
| 04-Jun-2018 |
reinoud | Its a hack, but make sure the pages are paged in
|
1.32 |
| 13-Jan-2018 |
reinoud | branches: 1.32.2; Keep up with changes in ld(4): adding ioctl handling on the ld(4) instead of using the old dedicated ldflush() function.
|
1.31 |
| 13-Jan-2018 |
reinoud | Add the missing strategy argument of ldattach()
|
1.30 |
| 21-Jan-2012 |
reinoud | Complete rewrite of the signal and spl framework for NetBSD/usermode
Signals are now moved from the sigaltstack ASAP and stacked on a replacement stack for each processes.
Preemption now works though could be enhanced a bit more
|
1.29 |
| 09-Jan-2012 |
reinoud | Re-implement aio for ld_thunkbus. It seems to work fine though its not set by default; define LD_USE_AIO or uncomment its setting at the top of the sourcefile to enable it.
|
1.28 |
| 09-Jan-2012 |
reinoud | sizeof_t is allways >=0 and the check for >=0 thus allways is true and amd64 complains about this. This might explain the odd write errors that could sometimes be reported. Those are/were probably a side effect of this.
|
1.27 |
| 06-Jan-2012 |
reinoud | Enhance debugging printfs to also report the functionname
|
1.26 |
| 06-Jan-2012 |
jmcneill | support disk images >= 2GB
|
1.25 |
| 03-Jan-2012 |
reinoud | Rename the debug printf's to use a thunk_ prefix to avoid confusion.
|
1.24 |
| 14-Dec-2011 |
jmcneill | set ld maxxfer to MAXPHYS
|
1.23 |
| 13-Dec-2011 |
reinoud | Remove dead code. The error variable was no longer used.
|
1.22 |
| 13-Dec-2011 |
reinoud | No need for the bounce-buffer anymore since pmap bahaves like it ought to
|
1.21 |
| 13-Dec-2011 |
jmcneill | - gc old aio implementation - set busy before scheduling softint not after - try not to write past end of backing file - if B_PHYS flag is set, pread/write with bounce buffer and copyout/copyin - use the correct offset in ld_thunkbus_dump
|
1.20 |
| 09-Dec-2011 |
reinoud | Disable aio usage in thunkbus_ld since mixing ucontext_t and threads is a NONO according to the manpage.
Why is AIO using a pthread?
|
1.19 |
| 27-Nov-2011 |
reinoud | branches: 1.19.2; Use AIO by default
|
1.18 |
| 27-Nov-2011 |
reinoud | Fix in-code declaration of the sigaction structure.
|
1.17 |
| 27-Nov-2011 |
reinoud | Implement the choice between using AIO or not.
|
1.16 |
| 16-Sep-2011 |
reinoud | branches: 1.16.2; Remove the blockage of SIGALRM here too
|
1.15 |
| 15-Sep-2011 |
reinoud | Check reentry to prevent double use of the aiocb structure
|
1.14 |
| 13-Sep-2011 |
reinoud | Remove excess signal stack declarations and remove the clock and ld signals from the signal stack since they are only issued shortly.
|
1.13 |
| 12-Sep-2011 |
reinoud | Move the clock device and the ld device to the new spl interrupt PIC
|
1.12 |
| 05-Sep-2011 |
jmcneill | use sigaltstack
|
1.11 |
| 05-Sep-2011 |
reinoud | Disable SIGALRM from interfering with this signal handler
|
1.10 |
| 04-Sep-2011 |
reinoud | Space around | (style)
|
1.9 |
| 03-Sep-2011 |
jmcneill | Now that pr45327 is fixed, remove BROKEN_SIGINFO code.
|
1.8 |
| 03-Sep-2011 |
jmcneill | add a workaround for kern/45327
|
1.7 |
| 03-Sep-2011 |
jmcneill | Get this compiling (but not quite linking yet) on Linux
|
1.6 |
| 25-Aug-2011 |
reinoud | When this debug printf is enabled, please also tell WHAT address one is using for read/write.
|
1.5 |
| 23-Aug-2011 |
jmcneill | struct stat also has time_t in it, so we can't use that in the thunk api either
|
1.4 |
| 23-Aug-2011 |
jmcneill | don't use kmem from softint context
|
1.3 |
| 13-Aug-2011 |
jmcneill | call lddone from a softint instead of the signal handler, now reading from disk works:
ld0 at mainbus0: /home/jmcneill/test.fs (33554432) ld0: 32768 KB, 65 cyl, 16 head, 63 sec, 512 bytes/sect x 65536 sectors boot device: ld0 root on ld0a dumps on ld0b root file system type: ffs WARNING: no TOD clock present WARNING: using filesystem time WARNING: CHECK AND RESET THE DATE!
|
1.2 |
| 13-Aug-2011 |
jmcneill | try to use aio_read/aio_write instead of pread/pwrite
|
1.1 |
| 12-Aug-2011 |
jmcneill | add a simple disk driver, pass the path to the disk image on the kernel command line:
soundwave$ ./netbsd /tmp/test.fs NetBSD/usermode startup [...] ld0 at mainbus0: /tmp/test.fs (33554432) ld0: 32768 KB, 8322 cyl, 64 head, 63 sec, 1 bytes/sect x 33554432 sectors boot device: ld0 root on ld0a dumps on ld0b
|
1.16.2.1 |
| 17-Apr-2012 |
yamt | sync with head
|
1.19.2.1 |
| 18-Feb-2012 |
mrg | merge to -current.
|
1.32.2.1 |
| 25-Jun-2018 |
pgoyette | Sync with HEAD
|