aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix port leaksSamuel Thibault2024-12-235-1/+10
| | | | get_privileged_ports adds a port ref, so we have to deallocate it.
* Add a description comment for the MIG type translation filesZhaoming Luo2024-12-1419-18/+37
| | | | | Signed-off-by: Zhaoming Luo <zhmingluo@163.com> Message-ID: <20241213005831.748151-1-zhmingluo@163.com>
* Add rtc translator and RTC CMOS driverZhaoming Luo2024-12-117-1/+555
| | | | | | | | | | | | | | | | | | | A /hurd/rtc translator will be created as, users can create a /dev/rtc device using the following command: ``` sudo settrans -c /dev/rtc /hurd/rtc ``` * Makefile: add rtc-cmos server into the compile chain * hurd/pioctl.defs: new file. Interfaces for rtc ioctl operations * hurd/rtc.h: new file. Interfaces for rtc device * rtc/Makefile: new file. Makefile for rtc server * rtc/main.c: new file. Initialisation for rtc translator * rtc/mig-mutate.h: new file. Type translation for rtc server * rtc/rtc-cmos_pioctl-ops.c: new file. The rtc-cmos server-side implementation Signed-off-by: Zhaoming Luo <zhmingluo@163.com> Message-ID: <20241211005415.507656-2-zhmingluo@163.com>
* smp: Simplify passing argvSamuel Thibault2024-12-091-3/+3
|
* sutils: Add smp tool to run process on slave processorsDamien Zammit via Bug reports for the GNU Hurd2024-12-092-1/+81
| | | | | | | | | | | | | | | Until we make gnumach fully parallel, we need a way to execute on slave processor set on smp-enabled gnumach. For example: $ /sbin/smp /bin/bash $ will launch a shell that executes commands only within slave pset, consisting of all processors except processor 0. We can thus test parallelism on Hurd in a controlled way. Message-ID: <20241126103747.353948-1-damien@zamaudio.com>
* Add some runsystem progress debugSamuel Thibault2024-12-083-3/+11
|
* lwip: Properly handle errors during initializationZhaoming Luo2024-12-081-6/+4
| | | | | | Reviewed-by: Sergey Bugaev <bugaevc@gmail.com> Message-ID: <20241208045237.1607-1-zhmingluo@163.com>
* Code refactorZhaoming Luo2024-12-074-4/+4
| | | | Message-ID: <20241207045245.1457-1-zhmingluo@163.com>
* libstore: Fix zero store writesSergey Bugaev2024-12-051-0/+1
| | | | | | | | | | 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>
* shutdown: Try mach device acpi before /servers/acpiDamien Zammit via Bug reports for the GNU Hurd2024-11-101-1/+21
| | | | | | | | 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>
* acpi, libmachdev: Add _forever variant of trivfs server loopDamien Zammit via Bug reports for the GNU Hurd2024-11-103-2/+16
| | | | | | | | 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>
* Comment fixesZhaoming Luo2024-11-084-8/+8
| | | | | | | | | | | | | 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>
* More device_get_status count fixesSamuel Thibault2024-11-043-5/+5
|
* lwip: Fix integer type mismatch on x86_64Samuel Thibault2024-11-041-1/+1
|
* console-client: Isolate fb driver even more from vgaSamuel Thibault2024-10-283-47/+45
|
* console-client: Enable switching to gfx console when availableDamien Zammit2024-10-282-12/+39
| | | | | | | This compiles in and enables the new framebuffer codepath in the vga driver, if detected. Message-ID: <20241028080849.3196116-3-damien@zamaudio.com>
* console-client: Add graphical console video passthroughDamien Zammit2024-10-282-0/+774
| | | | | | | | | | | 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>
* xkb: Fix delete key in consoleDamien Zammit2024-10-281-1/+1
| | | | | | Adding the missing NULL sentinel pointer allows delete key to function without crashing pc_kbd driver. Message-ID: <20241028080849.3196116-1-damien@zamaudio.com>
* Using NETIF_FOREACH to replace netif for-loopsZhaoming Luo2024-10-271-3/+3
| | | | | | | | | 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>
* irqhelp: Add name of library to log_error messagesDamien Zammit2024-10-261-1/+1
| | | | Message-ID: <20241023003509.2994709-1-damien@zamaudio.com>
* adding a missing commentZhaoming Luo2024-10-241-0/+1
| | | | Adding a line of missing comment
* irqhelp: Dont bail when cannot connect to acpiDamien Zammit2024-10-241-5/+12
| | | | | | | | | 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>
* acpi: Link to libirqhelpDamien Zammit2024-10-221-1/+1
| | | | | | This change is required when the libacpica library is updated to link with hurd library irqhelp. Message-ID: <20241021032136.2915779-2-damien@zamaudio.com>
* Define i386_get_xstate_size in libmachdev.Flavio Cruz2024-09-101-0/+6
| | | | | | libmachdev implements the mach_i386 routines, so we have to implement this one. Message-ID: <3pe32mbui3x3gueiyk5ybzrj54gkbwddlk6kqjconwg7jnxlc6@kgsaffiftak2>
* Revert "Include device/input.h in console-client"Samuel Thibault2024-09-101-1/+55
| | | | This reverts commit a698c6dafb63de4e69450b63ba7f4b71892c27e4.
* Include device/input.h in console-clientFlavio Cruz2024-09-091-55/+1
| | | | | | 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>
* Restructure argument setup in hashbangFlavio Cruz2024-09-081-48/+43
| | | | | | | | | | | | | | | 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>
* x86_64: do not define mach_cpu_subtypes since we don't use itFlavio Cruz2024-09-082-0/+4
| | | | Message-ID: <20240121210757.1900938-4-flaviocruz@gmail.com>
* Fix warnings in fstestsFlavio Cruz2024-09-082-3/+8
| | | | Message-ID: <20240121210757.1900938-3-flaviocruz@gmail.com>
* procfs: remove unused rootdir_symlink_make_nodeFlavio Cruz2024-09-081-8/+0
| | | | | Not needed since b2c97e251bb470e6f967c716081675a96dbde59c Message-ID: <20240121210757.1900938-2-flaviocruz@gmail.com>
* remap, syncfs: correct program version namefree_software@xobnur.uk2024-09-072-2/+2
| | | | | /hurd/remap --version was claiming to be fakeroot Message-ID: <621e135a-f272-43e8-9c10-35804abb1ed5@xobnur.uk>
* libports: Add missing ports_interrupt_server declarationSamuel Thibault2024-09-011-0/+2
|
* startup, settrans: Add missing flush of stderr to get output on waitingSamuel Thibault2024-08-292-0/+2
|
* ext2fs: Ignore translators bits when checking we have no Hurd extensionsSamuel Thibault2024-08-261-1/+1
| | | | We don't actually want to write these anyway.
* ext2fs: Fix masking out translators bitsSamuel Thibault2024-08-261-1/+1
| | | | We need to mask out before shifting the bits.
* ext2fs: mention which inode size is supportedSamuel Thibault2024-08-261-1/+1
|
* Fix line-buffered stderrSamuel Thibault2024-08-258-3/+8
| | | | | mach_open_devstream creates a fully-buffered stream by default. This prevents from seeing various messages.
* libdiskfs: Print error if we fail to open /dev/consoleSamuel Thibault2024-08-251-6/+14
|
* Make sure to also print early-fatal errors on mach consoleSamuel Thibault2024-08-252-4/+11
| | | | In case the user is using a debug kernel, they will get to see these.
* Fix build against libgcrypt >= 1.11.0Samuel Thibault2024-07-233-169/+3
| | | | It now provides a pkg-config file instead of libgcrypt-config
* nfsd: fix -Werror=incompatible-pointer-types issues for x86_64Flavio Cruz2024-07-232-3/+3
| | | | Message-ID: <3pmgbk2myx4phdb6wcso54solmybulrvbytols5md3nri2p2qp@xjmfmpvwjp6t>
* netfs and diskfs: make showtrans work correctly when translators are set on ↵Flavio Cruz2024-07-102-35/+32
| | | | | | | | | 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>
* tcp: select(writefds) don't hang up when a peer close connectionKOSAKI Motohiro2024-07-081-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* pflocal: make S_socket_recv return 0 instead of EPIPESamuel Thibault2024-07-081-0/+1
| | | | | Callers are not expecting to get EPIPE, and rather a real EOF, like is done in S_io_read.
* Fix issues with GCC 14.Flavio Cruz2024-06-243-32/+16
| | | | | | | | | * 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>
* Include unistd.h for sleep in pfinet/ethernet.cFlavio Cruz2024-06-241-0/+1
| | | | | Compilation fails otherwise due to -Werror=implicit-function-declaration Message-ID: <uuxfc5gjinlekgdyjzxesz72t6dabbl6s2f2n2fi7iw2bi5nl5@js7sx73kagmd>
* pfinet: wait a bit before retrying to open ethernet deviceSamuel Thibault2024-05-191-1/+2
| | | | | If netdde is restarting, it may have not finished probing devices, give it some time.
* startup: wait for any kind of bootstrap filesystemfirst last2024-05-091-1/+1
| | | | | The bootstrap filesystem doesn't have to be ext2fs Message-ID: <8932f426-8ab5-4344-81a6-52a90dfada09@runbox.com>
* isofs: fix rock-ridge detectionfree_software@xobnur.uk2024-05-061-1/+1
| | | | | The field length check should check for field overflow. Message-ID: <8e69aefc-8c08-4189-a5b9-974303427597@xobnur.uk>
* libirqhelp: Add libraryDamien Zammit2024-03-264-0/+436
| | | | | | Add a helper library for attaching interrupt handlers in userspace. Message-ID: <20240326045846.1661099-2-damien@zamaudio.com>