[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 13/19] bsd-user: Implement sysctl kern.proc, except kern.proc.
From: |
Warner Losh |
Subject: |
[PATCH v2 13/19] bsd-user: Implement sysctl kern.proc, except kern.proc.full_path |
Date: |
Mon, 10 Apr 2023 12:20:50 -0600 |
From: Stacey Son <sson@FreeBSD.org>
Use the recently committed conversion routines to implement all the
kern.proc flavors, except for the full path (the prereqs of which aren't
yet in qemu-project's master branch).
Signed-off-by: Stacey Son <sson@FreeBSD.org>
Signed-off-by: Warner Losh <imp@bsdimp.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
---
bsd-user/freebsd/os-sys.c | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
diff --git a/bsd-user/freebsd/os-sys.c b/bsd-user/freebsd/os-sys.c
index 418358adc1e..3772cf500ba 100644
--- a/bsd-user/freebsd/os-sys.c
+++ b/bsd-user/freebsd/os-sys.c
@@ -753,6 +753,41 @@ static abi_long do_freebsd_sysctl_oid(CPUArchState *env,
int32_t *snamep,
ret = 0;
goto out;
+ case KERN_PROC:
+ switch (snamep[2]) {
+ case KERN_PROC_ALL:
+ case KERN_PROC_PROC:
+ case KERN_PROC_PID:
+ case KERN_PROC_PID | KERN_PROC_INC_THREAD:
+ case KERN_PROC_PGRP:
+ case KERN_PROC_PGRP | KERN_PROC_INC_THREAD:
+ case KERN_PROC_SESSION:
+ case KERN_PROC_SESSION | KERN_PROC_INC_THREAD:
+ case KERN_PROC_TTY:
+ case KERN_PROC_TTY | KERN_PROC_INC_THREAD:
+ case KERN_PROC_UID:
+ case KERN_PROC_UID | KERN_PROC_INC_THREAD:
+ case KERN_PROC_RUID:
+ case KERN_PROC_RUID | KERN_PROC_INC_THREAD:
+ ret = do_sysctl_kern_getprocs(snamep[2], snamep[3], oldlen,
+ holdp, &holdlen);
+ goto out;
+
+ case KERN_PROC_FILEDESC:
+ ret = do_sysctl_kern_proc_filedesc(snamep[3], oldlen, holdp,
+ &holdlen);
+ goto out;
+
+ case KERN_PROC_VMMAP:
+ ret = do_sysctl_kern_proc_vmmap(snamep[3], oldlen, holdp,
+ &holdlen);
+ goto out;
+
+ default:
+ break;
+ }
+ break;
+
default:
break;
}
--
2.40.0
- [PATCH v2 01/19] bsd-user: Make print_* public, (continued)
- [PATCH v2 01/19] bsd-user: Make print_* public, Warner Losh, 2023/04/10
- [PATCH v2 03/19] bsd-user: Cleanup style., Warner Losh, 2023/04/10
- [PATCH v2 04/19] bsd-user: Move system FreeBSD call table to freebsd/os-syscall.c, Warner Losh, 2023/04/10
- [PATCH v2 06/19] bsd-user: Remove OpenBSD specific syscall printing, Warner Losh, 2023/04/10
- [PATCH v2 07/19] bsd-user: Move system call include to os-syscall.h, Warner Losh, 2023/04/10
- [PATCH v2 08/19] bsd-user: Remove useless mmap definitions, Warner Losh, 2023/04/10
- [PATCH v2 10/19] bsd-user: Implement do_sysctl_kern_getprocs, Warner Losh, 2023/04/10
- [PATCH v2 11/19] bsd-user: Implement do_sysctl_kern_proc_filedesc, Warner Losh, 2023/04/10
- [PATCH v2 09/19] bsd-user: h2g_rusage, Warner Losh, 2023/04/10
- [PATCH v2 12/19] bsd-user: Implement do_sysctl_kern_proc_vmmap, Warner Losh, 2023/04/10
- [PATCH v2 13/19] bsd-user: Implement sysctl kern.proc, except kern.proc.full_path,
Warner Losh <=
- [PATCH v2 02/19] bsd-user: Ifdef a few MAP_ constants for NetBSD / OpenBSD., Warner Losh, 2023/04/10
- [PATCH v2 17/19] bsd-user: Remove host-os.h, Warner Losh, 2023/04/10
- [PATCH v2 19/19] bsd-user: Eliminate USE_ELF_CORE_DUMP, Warner Losh, 2023/04/10
- [PATCH v2 15/19] bsd-user: Add SIGSYS to core dump signals., Warner Losh, 2023/04/10
- [PATCH v2 14/19] bsd-user: Implement core dumps, Warner Losh, 2023/04/10
- [PATCH v2 16/19] bsd-user: Implement SIGSYS on arm, Warner Losh, 2023/04/10
- [PATCH v2 18/19] bsd-user: Update system call list, Warner Losh, 2023/04/10