summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-12-08Add some runsystem progress debugSamuel Thibault
2024-12-08lwip: Properly handle errors during initializationZhaoming Luo
Reviewed-by: Sergey Bugaev <bugaevc@gmail.com> Message-ID: <20241208045237.1607-1-zhmingluo@163.com>
2024-12-07Code refactorZhaoming Luo
Message-ID: <20241207045245.1457-1-zhmingluo@163.com>
2024-12-05libstore: Fix zero store writesSergey Bugaev
We discard any written data, but we still need to set *amount. Not doing that is undefined behavior, and causes the write to appear to fail. This is the cause of a libzstd test failure on GNU/Hurd in particular. Reported-by: Diego Nieto Cid <dnietoc@gmail.com> Signed-off-by: Sergey Bugaev <bugaevc@gmail.com> Message-ID: <20241204113402.540235-1-bugaevc@gmail.com>
2024-11-10shutdown: Try mach device acpi before /servers/acpiDamien Zammit via Bug reports for the GNU Hurd
Since libmachdev cannot currently serve netfs as well as trivfs on a path, we need to allow connecting to the bootstrapped acpi server to shut down the machine. Message-ID: <20241110084135.3859485-3-damien@zamaudio.com>
2024-11-10acpi, libmachdev: Add _forever variant of trivfs server loopDamien Zammit via Bug reports for the GNU Hurd
The acpi server needs to survive after the shutdown notification, so it can serve S_acpi_sleep() RPC to actually shut down the machine. Therefore we need to keep the server alive and not respond to the trivfs goaway request. Message-ID: <20241110084135.3859485-2-damien@zamaudio.com>
2024-11-08Comment fixesZhaoming Luo
I don't think ioctls.h is a good place looking for the subsystem id calculation, instead hurd/ioctls.defs, it contains the following codes: ``` /* Calculate the MiG subsystem (i.e. first message ID) for the RPCs produced by ioctl requests in the given group. */ #define IOC_GROUP_SUBSYSTEM(group) (100000 + ((group) - 'f') * 4000) ``` Message-ID: <20241108031619.312288-1-zhmingluo@163.com>
2024-11-04More device_get_status count fixesSamuel Thibault
2024-11-04lwip: Fix integer type mismatch on x86_64Samuel Thibault
2024-10-28console-client: Isolate fb driver even more from vgaSamuel Thibault
2024-10-28console-client: Enable switching to gfx console when availableDamien Zammit
This compiles in and enables the new framebuffer codepath in the vga driver, if detected. Message-ID: <20241028080849.3196116-3-damien@zamaudio.com>
2024-10-28console-client: Add graphical console video passthroughDamien Zammit
When bootloader sets a linear framebuffer mode and passes the required info to Hurd via multiboot info table, we can use this framebuffer as is. Otherwise, fall back to EGA text mode as before. This is just the new framebuffer code as a separate commit. Message-ID: <20241028080849.3196116-2-damien@zamaudio.com>
2024-10-28xkb: Fix delete key in consoleDamien Zammit
Adding the missing NULL sentinel pointer allows delete key to function without crashing pc_kbd driver. Message-ID: <20241028080849.3196116-1-damien@zamaudio.com>
2024-10-27Using NETIF_FOREACH to replace netif for-loopsZhaoming Luo
Come across NETIF_FOREACH in /usr/include/lwip/lwip/netif.h, but I'm not sure if it affects some self-contained stuff. netif.h belongs to liblwip-dev. Message-ID: <tencent_3A8C7926D4CB059A970F2B5046C547149409@qq.com>
2024-10-26irqhelp: Add name of library to log_error messagesDamien Zammit
Message-ID: <20241023003509.2994709-1-damien@zamaudio.com>
2024-10-24adding a missing commentZhaoming Luo
Adding a line of missing comment
2024-10-24irqhelp: Dont bail when cannot connect to acpiDamien Zammit
As the acpi translator requires libirqhelp, we cannot fail when libirqhelp cannot connect to acpi translator, break the egg/chicken. acpi translator will only call the irqhelp api with fixed gsi during startup, so won't require itself to be started yet. Message-ID: <20241023003446.2994643-1-damien@zamaudio.com>
2024-10-22acpi: Link to libirqhelpDamien Zammit
This change is required when the libacpica library is updated to link with hurd library irqhelp. Message-ID: <20241021032136.2915779-2-damien@zamaudio.com>
2024-09-10Define i386_get_xstate_size in libmachdev.Flavio Cruz
libmachdev implements the mach_i386 routines, so we have to implement this one. Message-ID: <3pe32mbui3x3gueiyk5ybzrj54gkbwddlk6kqjconwg7jnxlc6@kgsaffiftak2>
2024-09-10Revert "Include device/input.h in console-client"Samuel Thibault
This reverts commit a698c6dafb63de4e69450b63ba7f4b71892c27e4.
2024-09-09Include device/input.h in console-clientFlavio Cruz
We avoid using repeated definitions and also update kd_event with the new 64bit compatible fields (rpc_time_value). Message-ID: <Y7zdiy1QtUz4RSY3@jupiter.tail36e24.ts.net>
2024-09-08Restructure argument setup in hashbangFlavio Cruz
We do a few things here: - Move search_path to the scope where it is used to make dependencies more clear. - Have a separate variable to store the file name we eventually need to free and move the free logic to happen in a single place. Both of this allows us to still free the name even if a fault is generated and also avoids a compiler warning as we try to assign a 'const char*' file_name_exec to a 'char *', making it more clear to what exactly we need to free. I also believe 'error' in line 245 was not initialized in case 'file_name_exec' is used and this fixes that too. Message-ID: <20240121210757.1900938-1-flaviocruz@gmail.com>
2024-09-08x86_64: do not define mach_cpu_subtypes since we don't use itFlavio Cruz
Message-ID: <20240121210757.1900938-4-flaviocruz@gmail.com>
2024-09-08Fix warnings in fstestsFlavio Cruz
Message-ID: <20240121210757.1900938-3-flaviocruz@gmail.com>
2024-09-08procfs: remove unused rootdir_symlink_make_nodeFlavio Cruz
Not needed since b2c97e251bb470e6f967c716081675a96dbde59c Message-ID: <20240121210757.1900938-2-flaviocruz@gmail.com>
2024-09-07remap, syncfs: correct program version namefree_software@xobnur.uk
/hurd/remap --version was claiming to be fakeroot Message-ID: <621e135a-f272-43e8-9c10-35804abb1ed5@xobnur.uk>
2024-09-01libports: Add missing ports_interrupt_server declarationSamuel Thibault
2024-08-29startup, settrans: Add missing flush of stderr to get output on waitingSamuel Thibault
2024-08-26ext2fs: Ignore translators bits when checking we have no Hurd extensionsSamuel Thibault
We don't actually want to write these anyway.
2024-08-26ext2fs: Fix masking out translators bitsSamuel Thibault
We need to mask out before shifting the bits.
2024-08-26ext2fs: mention which inode size is supportedSamuel Thibault
2024-08-25Fix line-buffered stderrSamuel Thibault
mach_open_devstream creates a fully-buffered stream by default. This prevents from seeing various messages.
2024-08-25libdiskfs: Print error if we fail to open /dev/consoleSamuel Thibault
2024-08-25Make sure to also print early-fatal errors on mach consoleSamuel Thibault
In case the user is using a debug kernel, they will get to see these.
2024-07-23Fix build against libgcrypt >= 1.11.0Samuel Thibault
It now provides a pkg-config file instead of libgcrypt-config
2024-07-23nfsd: fix -Werror=incompatible-pointer-types issues for x86_64Flavio Cruz
Message-ID: <3pmgbk2myx4phdb6wcso54solmybulrvbytols5md3nri2p2qp@xjmfmpvwjp6t>
2024-07-10netfs and diskfs: make showtrans work correctly when translators are set on ↵v0.9.git20240714Flavio Cruz
top of sylink/device/fifo/socket files. While these are short-circuited translators and simply change st_mode, actual translators can be set on top. We want `showtrans` to show the actual passive translator, not the short-circuited one. Message-ID: <b3ujoovkmz3iagqkmv6lyzgqsv3g5u2wiaqwktlttbalyd7oak@6qeiiupzzmag>
2024-07-08tcp: select(writefds) don't hang up when a peer close connectionKOSAKI Motohiro
This issue come from ruby language community. Below test program hang up when only run on Linux. % uname -mrsv Linux 2.6.26-2-486 #1 Sat Dec 26 08:37:39 UTC 2009 i686 % ruby -rsocket -ve ' BasicSocket.do_not_reverse_lookup = true serv = TCPServer.open("127.0.0.1", 0) s1 = TCPSocket.open("127.0.0.1", serv.addr[1]) s2 = serv.accept s2.close s1.write("a") rescue p $! s1.write("a") rescue p $! Thread.new { s1.write("a") }.join' ruby 1.9.3dev (2010-07-06 trunk 28554) [i686-linux] #<Errno::EPIPE: Broken pipe> [Hang Here] FreeBSD, Solaris, Mac doesn't. because Ruby's write() method call select() internally. and tcp_poll has a bug. SUS defined 'ready for writing' of select() as following. | A descriptor shall be considered ready for writing when a call to an output | function with O_NONBLOCK clear would not block, whether or not the function | would transfer data successfully. That said, EPIPE situation is clearly one of 'ready for writing'. We don't have read-side issue because tcp_poll() already has read side shutdown care. | if (sk->sk_shutdown & RCV_SHUTDOWN) | mask |= POLLIN | POLLRDNORM | POLLRDHUP; So, Let's insert same logic in write side. - reference url http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/31065 http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/31068 Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2024-07-08pflocal: make S_socket_recv return 0 instead of EPIPESamuel Thibault
Callers are not expecting to get EPIPE, and rather a real EOF, like is done in S_io_read.
2024-06-24Fix issues with GCC 14.Flavio Cruz
* ftpfts/ftpfs: use appropriate function signature for interrupt_check. * pfinet/Makefile: turn off warnings in Linux driver code that are now errors in GCC 14. * pfinet/glue-include/linux/socket.h: remove duplicate functions. These are implemented in linux-src/net/core/iovec.c. Message-ID: <pnx5mho5ipgabehscwu2ogk5l7zfjsxpmjz37fuplgbtohwtjj@ofhr2r5xvqm6>
2024-06-24Include unistd.h for sleep in pfinet/ethernet.cFlavio Cruz
Compilation fails otherwise due to -Werror=implicit-function-declaration Message-ID: <uuxfc5gjinlekgdyjzxesz72t6dabbl6s2f2n2fi7iw2bi5nl5@js7sx73kagmd>
2024-05-19pfinet: wait a bit before retrying to open ethernet deviceSamuel Thibault
If netdde is restarting, it may have not finished probing devices, give it some time.
2024-05-09startup: wait for any kind of bootstrap filesystemfirst last
The bootstrap filesystem doesn't have to be ext2fs Message-ID: <8932f426-8ab5-4344-81a6-52a90dfada09@runbox.com>
2024-05-06isofs: fix rock-ridge detectionfree_software@xobnur.uk
The field length check should check for field overflow. Message-ID: <8e69aefc-8c08-4189-a5b9-974303427597@xobnur.uk>
2024-03-26libirqhelp: Add libraryDamien Zammit
Add a helper library for attaching interrupt handlers in userspace. Message-ID: <20240326045846.1661099-2-damien@zamaudio.com>
2024-03-23Revert "exec: Stop relying on address space size"Samuel Thibault
This reverts commit db46ea2eb9dc84959fbf9b1819facac3d6078ba1. This is making the hurd startup hang.
2024-03-23exec: Add support for AArch64 executablesSergey Bugaev
This maps to EM_AARCH64. Just like the x86_64 branch, we only compile this code if CPU_TYPE_ARM64 is defined in Mach headers, to avoid raising Mach version requirement on other architectures; and we explicitly enable the branch when building for AArch64 itself, to get a build error if CPU_TYPE_ARM64 is somehow not defined. Message-ID: <20240323115322.69075-7-bugaevc@gmail.com>
2024-03-23boot: Add support for AArch64Sergey Bugaev
Message-ID: <20240323115322.69075-10-bugaevc@gmail.com>
2024-03-23proc: Add support for AArch64 in unameSergey Bugaev
Since no CPU subtypes are defined for CPU_TYPE_ARM64, just report the type, same as for x86_64. Sample uname(2) output: sysname: GNU release: 0.9 version: GNU-Mach 1.8/Hurd-0.9 machine: aarch64 Message-ID: <20240323115322.69075-9-bugaevc@gmail.com>
2024-03-23elfcore: Add support for saving AArch64 registersSergey Bugaev
Message-ID: <20240323115322.69075-8-bugaevc@gmail.com>