@samitouri / QOSamiQemu / commits / e3d86fb18f

bsd-user: Add System V message queue syscalls

Connect the System V IPC message queue syscalls: - msgctl(2): Message queue control - msgget(2): Get message queue identifier - msgsnd(2): Send message to queue - msgrcv(2): Receive message from queue Signed-off-by: Stacey Son <sson@FreeBSD.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Warner Losh <imp@bsdimp.com>

Stacey Son committed Feb 5, 2026 at 09:33 UTC e3d86fb18f2dae20f9696d103f1831f616de8164
1 file changed +20
bsd-user/freebsd/os-syscall.c
+20
@@ -894,6 +894,26 @@ static abi_long freebsd_syscall(void *cpu_env, int num, abi_long arg1,
894 ret = do_bsd___semctl(arg1, arg2, arg3, arg4);
895 break;
896 }
897 +
898 + /*
899 + * System V Messages
900 + */
901 + case TARGET_FREEBSD_NR_msgctl: /* msgctl(2) */
902 + ret = do_bsd_msgctl(arg1, arg2, arg3);
903 + break;
904 +
905 + case TARGET_FREEBSD_NR_msgget: /* msgget(2) */
906 + ret = do_bsd_msgget(arg1, arg2);
907 + break;
908 +
909 + case TARGET_FREEBSD_NR_msgsnd: /* msgsnd(2) */
910 + ret = do_bsd_msgsnd(arg1, arg2, arg3, arg4);
911 + break;
912 +
913 + case TARGET_FREEBSD_NR_msgrcv: /* msgrcv(2) */
914 + ret = do_bsd_msgrcv(arg1, arg2, arg3, arg4, arg5);
915 + break;
916 +
917 case TARGET_FREEBSD_NR_freebsd11_vadvise:
918 ret = do_bsd_vadvise();
919 break;