Age | Commit message (Collapse) | Author |
|
Use the new irqhelp library in ddekit and clean up.
Message-ID: <20240326045846.1661099-3-damien@zamaudio.com>
|
|
This avoids assuming a specific field order in mach_msg_type_t (see
https://git.savannah.gnu.org/cgit/hurd/gnumach.git/commit/device/net_io.c?id=50b744c4c2877dfbec54dc7bdae0d141e34c17c3
for a similar change in gnumach).
Message-Id: <ZNW92WyWfnzDKRgy@jupiter.tail36e24.ts.net>
|
|
Counting from the back with - sizeof net_msg.sent is very fragile since
that depends on rounding performed on the whole structure. Better just use
offsetof which is exactly meant for that.
|
|
The alignment expected by the kernel is on pointer size.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Rather than using pda, use the same arrays as on 32bit.
|
|
|
|
To properly get csum definitions.
|
|
|
|
* libdde_linux26/lib/src/mach_glue/net.c (search_netdev), libmachdevdde/mach_glue.h (search_netdev): Make name parameter const char *.
|
|
|
|
This follows mig's cf4bcc3f1435 ("Also add const qualifiers on server
side")
|
|
To avoid filling /var/log
|
|
We need to link in PIC-enabled objects to build .so files such as libmachdevdde.so.
|
|
|
|
This requires gnumach with 6054cda4de23 ("Add hardware interrupt
notification mechanism")
|
|
This function does return. The current Linux version does not include
this spurious attribute.
|
|
* libmachdevdde/net.c (register_net): Rename to machdevdde_register_net.
* libmachdevdde/machdevdde.h (machdevdde_register_net): Add prototype.
* dde_e100/main.c: Include <hurd/machdevdde.h>.
(main): Call machdevdde_register_net instead of register_net, call
machdev_device_init instead of mach_device_init, call machdev_trivfs_init
instead of trivfs_init, call machdevdde_server instead of ds_server, call
machdev_trivfs_server instead of trivfs_server.
* dde_e1000/main.c: Likewise.
* dde_ne2k_pci/main.c: Likewise.
* dde_pcnet32/main.c: Likewise.
* dde_rtl8139/main.c: Likewise.
|
|
|
|
* libmachdev/machdev-dev_hdr.h (DEVICE_NULL): Remove macro.
(emul_device): Rename structure to machdev_emul_device.
(emul_device_t): Rename type to machdev_emul_device_t.
(mach_device, mach_device_t, MACH_DEVICE_NULL): Move to...
* libmachdev/mach_device.h: ... new file.
* libmachdev/ds_routines.c: Include "mach_device.h".
* libmachdev/machdev-device_emul.h: Include <mach/notify.h>,
<device/device_types.h>, <device/net_status.h>, <errno.h>
* libmachdev/machdev.h: Include "machdev_hdr.h".
* libmachdev/mig-decls.h: Include "mach_device.h".
* libmachdev/Makefile (LCLHDRS): Add mach_device.h.
(installhdrs): Add machdev-dev_hdr.h.
|
|
|
|
|
|
* doc/hurd.texi (eth-multiplexer): Add section.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* libmachdev: New directory.
|
|
* libstore/device.c (dopen): Do not use strdup() for `rest'. Free
`master'.
|
|
@master:/dev/device
|
|
* pci-arbiter/pci-ops.c (S_pci_conf_read): Record and pass amount actually
read from config memory.
(S_pci_conf_write): Likewise for write.
|
|
As discussed in https://lists.gnu.org/archive/html/bug-hurd/2020-03/msg00018.html.
* Makeconf (lpath): Add -Wl,-rpath-link=<dir> next to -L<dir>.
|
|
Shortcut for -d, -b, -s and -f
Usage: --device [<domain>:]<bus>:<slot>.<func>
E.G. --device 00:05.0 is shortcut for -d 0 -b 0 -s 5 -f 0
* pci-arbiter/options.c: Implement --slot option
* pci-arbiter/options.h: Add --slot to options list
|
|
Rename some CLI options in order to add the new -D --device arg.
Replace -s by -c for subclasses.
Replace -D by -d for domains.
Domains are optional from now on, default to 0.
Replace -d by -s for devices.
The formerly called "devices" are now called "slots", and
"device" will refer to a combination of
Domain + Bus + Slot + Function
Only -G and -U options create new permission scopes.
* pci-arbiter/options.c: parse_opts(): Rename options
* pci-arbiter/options.h: struct argp_option options[]: Likewise
|
|
* pfinet/socket.c: Define _HACK_ERRNO_H to get a proper errno definition.
|
|
errno is also used by glue headers, so we can not actually check it
* pfinet/io-ops.c (S_io_reauthenticate): Do not check that it's EINTR
that make_sock_user failed with.
|
|
* lwip/io-ops.c (lwip_S_io_reauthenticate): Return errno on
make_sock_user returning an error.
* pfinet/io-ops.c (S_io_reauthenticate): Likewise.
|
|
_ports_create_port_internal may return EINTR.
* lwip/port-objs.c (make_sock_user): Set errno when ports_create_port
returns an error.
* pfinet/socket.c (make_sock_user): Likewise.
* lwip/io-ops.c (lwip_S_io_reauthenticate): Loop while make_sock_user
errors with EINTR.
* pfinet/io-ops.c (S_io_reauthenticate): Likewise.
|
|
* libfshelp-tests/Makefile (HURDLIBS): Add ihash and shouldbeinlibc.
(race locks): Add ../libihash/libihash.a.
|
|
* trans/Makefile (password-LDLIBS): Remove -lcrypt
|