Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/compat/irix More TrustedIRIX stuff (not emulated, but we...
details: https://anonhg.NetBSD.org/src/rev/a86d337f307f
branches: trunk
changeset: 519622:a86d337f307f
user: manu <manu%NetBSD.org@localhost>
date: Sat Dec 22 09:35:11 2001 +0000
description:
More TrustedIRIX stuff (not emulated, but we don't return EINVAL anymore)
diffstat:
sys/compat/irix/irix_syssgi.c | 26 ++++++++++++++++++++++----
1 files changed, 22 insertions(+), 4 deletions(-)
diffs (69 lines):
diff -r 1c4c104946d3 -r a86d337f307f sys/compat/irix/irix_syssgi.c
--- a/sys/compat/irix/irix_syssgi.c Sat Dec 22 08:45:36 2001 +0000
+++ b/sys/compat/irix/irix_syssgi.c Sat Dec 22 09:35:11 2001 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: irix_syssgi.c,v 1.7 2001/12/08 19:29:03 manu Exp $ */
+/* $NetBSD: irix_syssgi.c,v 1.8 2001/12/22 09:35:11 manu Exp $ */
/*-
* Copyright (c) 2001 The NetBSD Foundation, Inc.
@@ -37,7 +37,9 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: irix_syssgi.c,v 1.7 2001/12/08 19:29:03 manu Exp $");
+__KERNEL_RCSID(0, "$NetBSD: irix_syssgi.c,v 1.8 2001/12/22 09:35:11 manu Exp $");
+
+#include "opt_ddb.h"
#ifndef ELFSIZE
#define ELFSIZE 32
@@ -154,6 +156,11 @@
return irix_syssgi_sysconf((int)arg1, p, retval);
break;
+ case IRIX_SGI_RXEV_GET: /* Trusted IRIX call */
+ /* Undocumented (?) and unimplemented */
+ return EINVAL;
+ break;
+
default:
printf("Warning: call to unimplemented syssgi() command %d\n",
request);
@@ -269,7 +276,7 @@
printf("pht->p_align = 0x%lx\n", (long)pht->p_align);
#endif
NEW_VMCMD2(&vcset, pht->p_align < PAGE_SIZE ?
- vmcmd_map_readvn : vmcmd_map_pagedvn, psize,
+ vmcmd_map_readvn : vmcmd_map_pagedvn, psize,
uaddr, vp, offset, prot, flags);
}
if (psize < size) {
@@ -314,8 +321,10 @@
printf("psize = 0x%lx, rm = 0x%lx, rf = 0x%lx\n",
psize, rm, rf);
#endif
+ /* Sleeping here seems to trigger some bugs */
+ /* (void)tsleep ((void *)&vcp, 0, NULL, 10); */
+
error = (*vcp->ev_proc)(p, vcp);
-
if (vcp->ev_flags & VMCMD_BASE)
base_vcp = vcp;
}
@@ -372,6 +381,15 @@
*retval = 1;
return 0;
break;
+ /* Trusted IRIX capabilities are unsupported */
+ case IRIX_SC_ACL: /* ACcess Lists */
+ case IRIX_SC_AUDIT: /* Audit */
+ case IRIX_SC_INF: /* Information labels */
+ case IRIX_SC_MAC: /* Mandatory Access Control */
+ case IRIX_SC_CAP: /* Capabilities */
+ *retval = 0;
+ return 0;
+ break;
case IRIX_SC_PAGESIZE:
mib[0] = CTL_HW;
mib[1] = HW_PAGESIZE;
Home |
Main Index |
Thread Index |
Old Index