# Timo Kiravuo # 18.12.1995 # # # X-kernel port to Mach4 (Utah Flexmach) # # I am building an SNMP controlled soft drink machine as part of my # master's thesis. The purpose is to study the possibilities of # SNMP-controlled hardware. # # For the operating system platform my advisor Pekka Nikander # (pnr@nixu.fi) seleted the Mach microkernel system. Since Mach has # no network support in the kernel, we decided to use the X-Kernel # as the UDP/IP stack. # # This package contains the University of Arizona X-kernel v3.2 and # my changes to it, to allow it to run under Mach4 as a Mach task # (not as an Unix process and not in kernel). # # The changes have been made here and there and not in an # especially nice way. So it works for me, you can have what I have # done, If I get time I might try to document it better, but you # are pretty much on your own. # # Note that I have copied the mach3-directory in the # xkernel-package to mach4-directory and made the changes there. # # Timo Kiravuo # kiravuo@nixu.fi diff -rC2 xkernel/xkernel/mach4/api/netipc/nns.c xkernel.mach4/xkernel/mach4/api/netipc/nns.c *** xkernel/xkernel/mach4/api/netipc/nns.c Tue Nov 30 22:39:34 1993 --- xkernel.mach4/xkernel/mach4/api/netipc/nns.c Fri Dec 15 21:15:23 1995 *************** *** 11,14 **** --- 11,16 ---- */ + #ifndef XKMACH4 + #include "xkernel.h" #include "ip.h" *************** *** 20,24 **** --- 22,32 ---- #include #include + + #ifdef XKMACH4 + #include + #else #include + #endif + #include #include *************** *** 585,586 **** --- 593,595 ---- s->opendisableall = nnsOpenDisableAll; } + #endif XKMACH4 diff -rC2 xkernel/xkernel/mach4/api/netipc/nns_boot.c xkernel.mach4/xkernel/mach4/api/netipc/nns_boot.c *** xkernel/xkernel/mach4/api/netipc/nns_boot.c Tue Nov 30 22:39:36 1993 --- xkernel.mach4/xkernel/mach4/api/netipc/nns_boot.c Fri Dec 15 21:15:23 1995 *************** *** 11,14 **** --- 11,15 ---- */ + #ifndef XKMACH4 #include #include *************** *** 500,501 **** --- 501,503 ---- return(0); } + #endif XKMACH4 diff -rC2 xkernel/xkernel/mach4/api/proxy/gen/Makefile xkernel.mach4/xkernel/mach4/api/proxy/gen/Makefile *** xkernel/xkernel/mach4/api/proxy/gen/Makefile Tue Nov 30 22:40:19 1993 --- xkernel.mach4/xkernel/mach4/api/proxy/gen/Makefile Fri Dec 15 21:15:26 1995 *************** *** 32,36 **** # xk_lproxyS.c xk_lproxyU.c xk_lproxy.h: ../xk_lproxy.defs ../lproxy.awk ../lproxy.demux.sed ! $(MIG) -server xk_lproxyS.c.tmp -user xk_lproxyU.c.tmp $< awk -f ../lproxy.awk xk_lproxyU.c.tmp mv lproxy.rest.tmp xk_lproxyU.c --- 32,36 ---- # xk_lproxyS.c xk_lproxyU.c xk_lproxy.h: ../xk_lproxy.defs ../lproxy.awk ../lproxy.demux.sed ! $(MIG) -server xk_lproxyS.c.tmp -user xk_lproxyU.c.tmp $(MIG_INCLUDES) $< awk -f ../lproxy.awk xk_lproxyU.c.tmp mv lproxy.rest.tmp xk_lproxyU.c *************** *** 39,43 **** xk_uproxyS.c xk_uproxyU.c xk_uproxy.h: ../xk_uproxy.defs ../uproxy.awk ../uproxy.rest.sed ../uproxy.call.sed ! $(MIG) -server xk_uproxyS.c -user xk_uproxyU.c.tmp $< awk -f ../uproxy.awk xk_uproxyU.c.tmp sed -f ../uproxy.rest.sed uproxy.rest.tmp > xk_uproxyU.c --- 39,43 ---- xk_uproxyS.c xk_uproxyU.c xk_uproxy.h: ../xk_uproxy.defs ../uproxy.awk ../uproxy.rest.sed ../uproxy.call.sed ! $(MIG) -server xk_uproxyS.c -user xk_uproxyU.c.tmp $(MIG_INCLUDES) $< awk -f ../uproxy.awk xk_uproxyU.c.tmp sed -f ../uproxy.rest.sed uproxy.rest.tmp > xk_uproxyU.c Only in xkernel.mach4/xkernel/mach4/api/proxy/gen: lproxy.demux.tmp Only in xkernel.mach4/xkernel/mach4/api/proxy/gen: xk_lproxy.h Only in xkernel.mach4/xkernel/mach4/api/proxy/gen: xk_lproxyS.c Only in xkernel.mach4/xkernel/mach4/api/proxy/gen: xk_lproxyS.c.tmp Only in xkernel.mach4/xkernel/mach4/api/proxy/gen: xk_lproxyU.c Only in xkernel.mach4/xkernel/mach4/api/proxy/gen: xk_lproxyU.c.tmp Only in xkernel.mach4/xkernel/mach4/api/proxy/gen: xk_uproxy.h Only in xkernel.mach4/xkernel/mach4/api/proxy/gen: xk_uproxyS.c Only in xkernel.mach4/xkernel/mach4/api/proxy/gen: xk_uproxyU.c diff -rC2 xkernel/xkernel/mach4/api/socket/gen/Makefile xkernel.mach4/xkernel/mach4/api/socket/gen/Makefile *** xkernel/xkernel/mach4/api/socket/gen/Makefile Tue Nov 30 22:40:45 1993 --- xkernel.mach4/xkernel/mach4/api/socket/gen/Makefile Fri Dec 15 21:15:32 1995 *************** *** 18,21 **** xsi_user.h xsi_user.c xsi_server.c: ../xsi.defs ! $(MIG) $(CPPFLAGS) -server xsi_server.c -user xsi_user.c -header xsi_user.h $^ --- 18,21 ---- xsi_user.h xsi_user.c xsi_server.c: ../xsi.defs ! $(MIG) $(CPPFLAGS) -server xsi_server.c -user xsi_user.c -header xsi_user.h $(MIG_INCLUDES) $^ Only in xkernel.mach4/xkernel/mach4/api/socket/gen: xsi_server.c Only in xkernel.mach4/xkernel/mach4/api/socket/gen: xsi_user.c Only in xkernel.mach4/xkernel/mach4/api/socket/gen: xsi_user.h diff -rC2 xkernel/xkernel/mach4/api/socket/msg_stream.c xkernel.mach4/xkernel/mach4/api/socket/msg_stream.c *** xkernel/xkernel/mach4/api/socket/msg_stream.c Tue Nov 30 22:40:24 1993 --- xkernel.mach4/xkernel/mach4/api/socket/msg_stream.c Fri Dec 15 21:15:32 1995 *************** *** 20,23 **** --- 20,34 ---- * */ + + #ifdef XKMACH4 + #if defined(__GNUC__) && ! defined(XK_DEBUG) + # define XK_USE_INLINE + #endif + #include + #include + #include + #include + #endif + #include #include "msg_stream.h" diff -rC2 xkernel/xkernel/mach4/api/socket/xksocket.c xkernel.mach4/xkernel/mach4/api/socket/xksocket.c *** xkernel/xkernel/mach4/api/socket/xksocket.c Tue Nov 30 22:40:33 1993 --- xkernel.mach4/xkernel/mach4/api/socket/xksocket.c Fri Dec 15 21:15:32 1995 *************** *** 25,28 **** --- 25,35 ---- * */ + #ifdef XKMACH4 + + #include + #include + #include + #endif + #include #include diff -rC2 xkernel/xkernel/mach4/api/socket/xsi.h xkernel.mach4/xkernel/mach4/api/socket/xsi.h *** xkernel/xkernel/mach4/api/socket/xsi.h Tue Nov 30 22:40:36 1993 --- xkernel.mach4/xkernel/mach4/api/socket/xsi.h Fri Dec 15 21:15:32 1995 *************** *** 32,36 **** --- 32,45 ---- #include + + #ifdef XKMACH4 + #include + #include + #include + #include + #else #include + #endif + #include "xsi_user.h" #include "xksocket.h" diff -rC2 xkernel/xkernel/mach4/api/socket/xsi_bench.c xkernel.mach4/xkernel/mach4/api/socket/xsi_bench.c *** xkernel/xkernel/mach4/api/socket/xsi_bench.c Tue Nov 30 22:40:37 1993 --- xkernel.mach4/xkernel/mach4/api/socket/xsi_bench.c Fri Dec 15 21:15:32 1995 *************** *** 16,19 **** --- 16,22 ---- * */ + + #ifndef XKMACH4 + #include "xsi_bench.h" #include "util.h" *************** *** 479,480 **** --- 482,484 ---- /*** end of xsi_bench.h ***/ + #endif XKMACH4 diff -rC2 xkernel/xkernel/mach4/api/socket/xsi_services.c xkernel.mach4/xkernel/mach4/api/socket/xsi_services.c *** xkernel/xkernel/mach4/api/socket/xsi_services.c Tue Nov 30 22:40:42 1993 --- xkernel.mach4/xkernel/mach4/api/socket/xsi_services.c Fri Dec 15 21:15:33 1995 *************** *** 43,50 **** --- 43,63 ---- * */ + + #ifdef XKMACH4 + #include + #include + #include + #include + #endif + #include #include #include + #ifdef XKMACH4 + #include + #else #include + #endif + #include "xsi.h" #include "xsi_services.h" diff -rC2 xkernel/xkernel/mach4/drivers/ethdrv/ether.c xkernel.mach4/xkernel/mach4/drivers/ethdrv/ether.c *** xkernel/xkernel/mach4/drivers/ethdrv/ether.c Tue Nov 30 22:40:57 1993 --- xkernel.mach4/xkernel/mach4/drivers/ethdrv/ether.c Fri Dec 15 21:15:35 1995 *************** *** 11,14 **** --- 11,25 ---- */ + #ifdef XKMACH4 + #if defined(__GNUC__) && ! defined(XK_DEBUG) + # define XK_USE_INLINE + #endif + #include + #include + #include + #include + #include + #endif + #include #include *************** *** 16,21 **** --- 27,42 ---- #include #include + + #ifdef XKMACH4 + #include + #else #include + #endif + + #ifdef XKMACH4 + #include + #else #include + #endif #include *************** *** 69,73 **** /* the device string is now part of the protocol name, e.g. ethdrv/SE0 */ ! #define DEVICE_STR "SE" #define MAX_DEVICE_STRING 5 --- 90,94 ---- /* the device string is now part of the protocol name, e.g. ethdrv/SE0 */ ! #define DEVICE_STR "WD" #define MAX_DEVICE_STRING 5 diff -rC2 xkernel/xkernel/mach4/include/assert.h xkernel.mach4/xkernel/mach4/include/assert.h *** xkernel/xkernel/mach4/include/assert.h Tue Nov 30 22:41:15 1993 --- xkernel.mach4/xkernel/mach4/include/assert.h Fri Dec 15 21:15:39 1995 *************** *** 18,22 **** #endif ! #ifndef XKMACHKERNEL # ifdef __STDC__ extern void abort(void); --- 18,22 ---- #endif ! #if !defined(XKMACHKERNEL) && !defined(XKMACH4) # ifdef __STDC__ extern void abort(void); diff -rC2 xkernel/xkernel/mach4/include/platform.h xkernel.mach4/xkernel/mach4/include/platform.h *** xkernel/xkernel/mach4/include/platform.h Tue Nov 30 22:41:20 1993 --- xkernel.mach4/xkernel/mach4/include/platform.h Fri Dec 15 21:15:39 1995 *************** *** 14,23 **** #define platform_h ! #if defined(__GNUC__) && ! defined(XK_DEBUG) # define XK_USE_INLINE #endif ! ! #include #ifdef XKMACHKERNEL --- 14,22 ---- #define platform_h ! #ifdef XKMACH4 #if defined(__GNUC__) && ! defined(XK_DEBUG) # define XK_USE_INLINE #endif ! #endif #ifdef XKMACHKERNEL diff -rC2 xkernel/xkernel/mach4/include/rpc/auth.h xkernel.mach4/xkernel/mach4/include/rpc/auth.h *** xkernel/xkernel/mach4/include/rpc/auth.h Tue Nov 30 22:41:29 1993 --- xkernel.mach4/xkernel/mach4/include/rpc/auth.h Fri Dec 15 21:15:38 1995 *************** *** 38,45 **** }; ! #if ! defined(MACH_MKREV) || (MACH_MKREV < 82) ! # if (mc68000 || sparc || vax || i386 || pmax || hp700) ! typedef u_long u_int32; /* 32-bit unsigned integers */ # endif --- 38,45 ---- }; ! #if ! defined(MACH_MKREV) || (MACH_MKREV < 82) || (XKMACH4) ! # if (mc68000 || sparc || vax || i386 || pmax || hp700 || intelx86) ! typedef u_long u_int32_t; /* 32-bit unsigned integers */ # endif *************** *** 48,53 **** union des_block { struct { ! u_int32 high; ! u_int32 low; } key; char c[8]; --- 48,53 ---- union des_block { struct { ! u_int32_t high; ! u_int32_t low; } key; char c[8]; diff -rC2 xkernel/xkernel/mach4/include/rpc/svc.h xkernel.mach4/xkernel/mach4/include/rpc/svc.h *** xkernel/xkernel/mach4/include/rpc/svc.h Tue Nov 30 22:41:39 1993 --- xkernel.mach4/xkernel/mach4/include/rpc/svc.h Fri Dec 15 21:15:38 1995 *************** *** 7,10 **** --- 7,15 ---- */ + #ifdef XKMACH4 + #include + #include + #endif + #ifndef _rpc_svc_h #define _rpc_svc_h diff -rC2 xkernel/xkernel/mach4/include/x_libc.h xkernel.mach4/xkernel/mach4/include/x_libc.h *** xkernel/xkernel/mach4/include/x_libc.h Tue Nov 30 22:41:24 1993 --- xkernel.mach4/xkernel/mach4/include/x_libc.h Fri Dec 15 21:15:39 1995 *************** *** 18,22 **** #define x_libc_h ! #ifndef XKMACHKERNEL #include --- 18,22 ---- #define x_libc_h ! #if !defined(XKMACHKERNEL) && !defined(XKMACH4) #include diff -rC2 xkernel/xkernel/mach4/inkernel/xkern.local/initRom.c xkernel.mach4/xkernel/mach4/inkernel/xkern.local/initRom.c *** xkernel/xkernel/mach4/inkernel/xkern.local/initRom.c Tue Nov 30 22:41:50 1993 --- xkernel.mach4/xkernel/mach4/inkernel/xkern.local/initRom.c Fri Dec 15 21:15:47 1995 *************** *** 3,7 **** initRom() { ! if ( ROM_MAX_LINES < 9 ) { xError("xkernel ROM array too big"); return; --- 3,7 ---- initRom() { ! if ( ROM_MAX_LINES < 21 ) { xError("xkernel ROM array too big"); return; *************** *** 11,59 **** return; } ! rom[0][0] = "arp"; ! rom[0][1] = "192.12.69.54"; ! rom[0][2] = "08:00:2b:1c:19:cd"; ! rom[0][3] = "lock"; ! rom[0][4] = 0; rom[1][0] = "arp"; ! rom[1][1] = "192.12.69.137"; ! rom[1][2] = "08:00:2b:1b:c4:bb"; rom[1][3] = "lock"; rom[1][4] = 0; rom[2][0] = "arp"; ! rom[2][1] = "192.12.69.98"; ! rom[2][2] = "08:00:2b:1c:18:e8"; ! rom[2][3] = "lock"; ! rom[2][4] = 0; ! rom[3][0] = "arp"; ! rom[3][1] = "192.12.69.99"; ! rom[3][2] = "08:00:2b:23:6d:ec"; ! rom[3][3] = "lock"; ! rom[3][4] = 0; ! rom[4][0] = "arp"; ! rom[4][1] = "192.12.69.10"; ! rom[4][2] = "08:00:09:27:b4:2d"; ! rom[4][3] = "lock"; ! rom[4][4] = 0; ! rom[5][0] = "arp"; ! rom[5][1] = "192.12.69.24"; ! rom[5][2] = "08:00:09:27:b4:a6"; ! rom[5][3] = "lock"; ! rom[5][4] = 0; ! rom[6][0] = "arp"; ! rom[6][1] = "192.12.69.26"; ! rom[6][2] = "08:00:09:27:c4:49"; ! rom[6][3] = "lock"; ! rom[6][4] = 0; ! rom[7][0] = "arp"; ! rom[7][1] = "192.12.69.25"; ! rom[7][2] = "08:00:09:27:f4:7f"; ! rom[7][3] = "lock"; ! rom[7][4] = 0; ! rom[8][0] = "arp"; ! rom[8][1] = "192.12.69.14"; ! rom[8][2] = "08:00:09:27:c4:47"; ! rom[8][3] = "lock"; ! rom[8][4] = 0; ! rom[9][0] = 0; } --- 11,99 ---- return; } ! rom[0][0] = "ethdrv/wd0"; ! rom[0][1] = "priority"; ! rom[0][2] = "20"; ! rom[0][3] = 0; rom[1][0] = "arp"; ! rom[1][1] = "193.209.237.25"; ! rom[1][2] = "0:0:c0:9:dd:15"; rom[1][3] = "lock"; rom[1][4] = 0; rom[2][0] = "arp"; ! rom[2][1] = "193.209.237.1"; ! rom[2][2] = "0:0:c:2:7:70"; ! rom[2][3] = 0; ! rom[3][0] = "ip"; ! rom[3][1] = "gateway"; ! rom[3][2] = "193.209.237.1"; ! rom[3][3] = 0; ! rom[4][0] = "netmask"; ! rom[4][1] = "193.209.237.25"; ! rom[4][2] = "255.255.255.0"; ! rom[4][3] = 0; ! rom[5][0] = "dns"; ! rom[5][1] = "koff"; ! rom[5][2] = "193.209.237.25"; ! rom[5][3] = 0; ! rom[6][0] = "dns"; ! rom[6][1] = "olvi"; ! rom[6][2] = "193.209.237.26"; ! rom[6][3] = 0; ! rom[7][0] = "dns"; ! rom[7][1] = "jalopeno"; ! rom[7][2] = "193.209.237.20"; ! rom[7][3] = 0; ! rom[8][0] = "dns"; ! rom[8][1] = "tequila"; ! rom[8][2] = "193.209.237.23"; ! rom[8][3] = 0; ! rom[9][0] = "dns"; ! rom[9][1] = "koff.nixu.fi"; ! rom[9][2] = "193.209.237.25"; ! rom[9][3] = 0; ! rom[10][0] = "dns"; ! rom[10][1] = "olvi.nixu.fi"; ! rom[10][2] = "193.209.237.26"; ! rom[10][3] = 0; ! rom[11][0] = "dns"; ! rom[11][1] = "jalopeno.nixu.fi"; ! rom[11][2] = "193.209.237.20"; ! rom[11][3] = 0; ! rom[12][0] = "dns"; ! rom[12][1] = "tequila.nixu.fi"; ! rom[12][2] = "193.209.237.23"; ! rom[12][3] = 0; ! rom[13][0] = "dns"; ! rom[13][1] = "juustolettu"; ! rom[13][2] = "130.233.192.249"; ! rom[13][3] = 0; ! rom[14][0] = "dns"; ! rom[14][1] = "papuherkku"; ! rom[14][2] = "130.233.192.250"; ! rom[14][3] = 0; ! rom[15][0] = "dns"; ! rom[15][1] = "tomaattikeitto"; ! rom[15][2] = "130.233.192.251"; ! rom[15][3] = 0; ! rom[16][0] = "dns"; ! rom[16][1] = "cs-gw"; ! rom[16][2] = "130.233.192.254"; ! rom[16][3] = 0; ! rom[17][0] = "dns"; ! rom[17][1] = "juustolettu.cs.hut.fi"; ! rom[17][2] = "130.233.192.249"; ! rom[17][3] = 0; ! rom[18][0] = "dns"; ! rom[18][1] = "papuherkku.cs.hut.fi"; ! rom[18][2] = "130.233.192.250"; ! rom[18][3] = 0; ! rom[19][0] = "dns"; ! rom[19][1] = "tomaattikeitto.cs.hut.fi"; ! rom[19][2] = "130.233.192.251"; ! rom[19][3] = 0; ! rom[20][0] = "dns"; ! rom[20][1] = "cs-gw.cs.hut.fi"; ! rom[20][2] = "130.233.192.254"; ! rom[20][3] = 0; ! rom[21][0] = 0; } diff -rC2 xkernel/xkernel/mach4/inkernel/xkern.local/ptblData.c xkernel.mach4/xkernel/mach4/inkernel/xkern.local/ptblData.c *** xkernel/xkernel/mach4/inkernel/xkern.local/ptblData.c Tue Nov 30 22:41:55 1993 --- xkernel.mach4/xkernel/mach4/inkernel/xkern.local/ptblData.c Fri Dec 15 21:15:47 1995 *************** *** 1,13 **** static MapEntry ipMap[] = { ! { "blast", 101 }, { "udp", 17 }, { "chan", 102 }, { "bid", 204 }, - { "icmp", 1 }, { "rat", 206 }, ! { "iptest", 100 }, ! { "tcp", 201 }, ! { "bidctl", 205 }, ! { "vsize", 203 }, { 0, 0 } }; --- 1,28 ---- static MapEntry ipMap[] = { ! { "icmp", 1 }, ! { "tcp", 201 }, ! { "iptest", 100 }, { "udp", 17 }, { "chan", 102 }, + { "blast", 101 }, + { "vsize", 203 }, + { "bidctl", 205 }, { "bid", 204 }, { "rat", 206 }, ! { 0, 0 } ! }; ! ! static MapEntry ethMap[] = { ! { "arp", 2054 }, ! { "ip", 14592 }, ! { "ethtest", 12288 }, ! { "rarp", 32821 }, ! { "iptest", 12295 }, ! { "blasttest", 12292 }, ! { "chan", 12291 }, ! { "blast", 12289 }, ! { "vsize", 12290 }, ! { "bidctl", 12294 }, ! { "bid", 12293 }, { 0, 0 } }; *************** *** 25,108 **** }; - static MapEntry ethMap[] = { - { "blast", 12289 }, - { "chan", 12291 }, - { "blasttest", 12292 }, - { "ip", 14592 }, - { "bid", 12293 }, - { "rarp", 32821 }, - { "iptest", 12295 }, - { "ethtest", 12288 }, - { "arp", 2054 }, - { "bidctl", 12294 }, - { "vsize", 12290 }, - { 0, 0 } - }; - static Entry entries[] = { ! { "srx", 24, 0 }, ! { "uproxy", 29, 0 }, ! { "xksocket", 2001, 0 }, ! { "tcptest", 10006, 0 }, ! { "vdrop", 26, 0 }, ! { "bind", 3004, 0 }, ! { "sartest", 10019, 0 }, ! { "simeth", 1001, 0 }, ! { "ip", 2, ipMap }, ! { "rrx", 25, 0 }, ! { "rat", 34, 0 }, { "sar", 32, 0 }, ! { "simsimeth", 1004, 0 }, ! { "crypt", 3001, 0 }, { "join", 35, 0 }, ! { "ethdrv", 1002, 0 }, ! { "iptest", 10002, 0 }, ! { "auth", 3200, 0 }, { "sunrpctest", 10009, 0 }, ! { "vnet", 17, 0 }, { "bid", 21, 0 }, ! { "tcrypt", 3002, 0 }, ! { "ethdrvtest", 10015, 0 }, ! { "blast", 8, 0 }, ! { "chan", 13, 0 }, ! { "vcache", 23, 0 }, ! { "user", 3301, 0 }, ! { "ethtest", 10001, 0 }, ! { "vaddr", 12, 0 }, ! { "vmux", 18, 0 }, ! { "dss", 3501, 0 }, ! { "md5", 3101, 0 }, { "udp", 5, udpMap }, - { "nns", 33, 0 }, - { "ssrtest", 10017, 0 }, - { "xklance", 1003, 0 }, - { "bidctl", 22, 0 }, - { "vtap", 31, 0 }, - { "rsa", 3011, 0 }, - { "blasttest", 10008, 0 }, - { "portmaint", 28, 0 }, { "null", 16, 0 }, { "machripc", 27, machripcMap }, { "vsize", 11, 0 }, ! { "sha", 3102, 0 }, ! { "xrpctest", 10014, 0 }, ! { "udpcrypttest", 10018, 0 }, { "vchan", 15, 0 }, { "ssr", 10016, 0 }, ! { "pmap", 10, 0 }, { "km", 3003, 0 }, { "confounder", 3202, 0 }, ! { "tkmgr", 3201, 0 }, { "mselect", 20, 0 }, { "chantest", 10013, 0 }, ! { "lproxy", 30, 0 }, ! { "udptest", 10005, 0 }, ! { "tcp", 6, 0 }, ! { "icmp", 7, 0 }, ! { "eth", 1, ethMap }, ! { "arp", 3, 0 }, ! { "rarp", 4, 0 }, { "select", 14, 0 }, ! { "sunrpc", 9, 0 }, { 0, 0, 0 } }; --- 40,111 ---- }; static Entry entries[] = { ! { "tcp", 6, 0 }, ! { "vnet", 17, 0 }, ! { "bidctl", 22, 0 }, ! { "user", 3301, 0 }, { "sar", 32, 0 }, ! { "xrpctest", 10014, 0 }, ! { "ip", 2, ipMap }, ! { "pmap", 10, 0 }, { "join", 35, 0 }, ! { "rsa", 3011, 0 }, ! { "ssrtest", 10017, 0 }, { "sunrpctest", 10009, 0 }, ! { "eth", 1, ethMap }, { "bid", 21, 0 }, ! { "tkmgr", 3201, 0 }, { "udp", 5, udpMap }, { "null", 16, 0 }, + { "ns8390", 1005, 0 }, + { "iptest", 10002, 0 }, + { "nns", 33, 0 }, { "machripc", 27, machripcMap }, + { "arp", 3, 0 }, + { "simeth", 1001, 0 }, + { "icmp", 7, 0 }, + { "bind", 3004, 0 }, { "vsize", 11, 0 }, ! { "rrx", 25, 0 }, ! { "dss", 3501, 0 }, ! { "auth", 3200, 0 }, ! { "srx", 24, 0 }, ! { "vconf", 3203, 0 }, ! { "md5", 3101, 0 }, ! { "vsecsel", 3204, 0 }, ! { "crypt", 3001, 0 }, ! { "sunrpc", 9, 0 }, { "vchan", 15, 0 }, + { "xklance", 1003, 0 }, + { "uproxy", 29, 0 }, + { "sartest", 10019, 0 }, + { "vcache", 23, 0 }, + { "tcptest", 10006, 0 }, + { "ethdrv", 1002, 0 }, + { "udpcrypttest", 10018, 0 }, + { "lproxy", 30, 0 }, + { "chan", 13, 0 }, { "ssr", 10016, 0 }, ! { "vmux", 18, 0 }, { "km", 3003, 0 }, { "confounder", 3202, 0 }, ! { "simsimeth", 1004, 0 }, ! { "rarp", 4, 0 }, ! { "ethdrvtest", 10015, 0 }, { "mselect", 20, 0 }, { "chantest", 10013, 0 }, ! { "blast", 8, 0 }, ! { "blasttest", 10008, 0 }, ! { "vtap", 31, 0 }, ! { "xksocket", 2001, 0 }, { "select", 14, 0 }, ! { "tcrypt", 3002, 0 }, ! { "udptest", 10005, 0 }, ! { "sha", 3102, 0 }, ! { "vaddr", 12, 0 }, ! { "vdrop", 26, 0 }, ! { "portmaint", 28, 0 }, ! { "rat", 34, 0 }, ! { "ethtest", 10001, 0 }, { 0, 0, 0 } }; Only in xkernel.mach4/xkernel/mach4/inkernel/xkern.local: ptblData.old.c diff -rC2 xkernel/xkernel/mach4/inkernel/xkern.local/traceLevels.c xkernel.mach4/xkernel/mach4/inkernel/xkern.local/traceLevels.c *** xkernel/xkernel/mach4/inkernel/xkern.local/traceLevels.c Tue Nov 30 22:41:57 1993 --- xkernel.mach4/xkernel/mach4/inkernel/xkern.local/traceLevels.c Fri Dec 15 21:15:48 1995 *************** *** 15,19 **** { #ifdef XK_DEBUG ! #endif XK_DEBUG --- 15,19 ---- { #ifdef XK_DEBUG ! traceprotocol = TR_EVENTS #endif XK_DEBUG diff -rC2 xkernel/xkernel/mach4/pxk/init.c xkernel.mach4/xkernel/mach4/pxk/init.c *** xkernel/xkernel/mach4/pxk/init.c Tue Nov 30 22:43:05 1993 --- xkernel.mach4/xkernel/mach4/pxk/init.c Fri Dec 15 21:15:52 1995 *************** *** 18,22 **** #include "upi.h" #include "xk_debug.h" ! #ifndef XKMACHKERNEL #include #endif XKMACHKERNEL --- 18,22 ---- #include "upi.h" #include "xk_debug.h" ! #if !defined(XKMACHKERNEL) && !defined(XKMACH4) #include #endif XKMACHKERNEL *************** *** 26,29 **** --- 26,34 ---- #include "x_util.h" + #ifdef XKMACH4 + #include + extern mach_port_t __libmach_console_port; + #endif (for the debug printing hack) + /* the event scheduling interval granularity */ int event_granularity = 100; *************** *** 44,47 **** --- 49,53 ---- #endif XKMACHKERNEL + #ifdef MACH #define SHEPNUM 10 *************** *** 55,59 **** char *rom[ROM_MAX_LINES + 1][ROM_MAX_FIELDS + 1]; - #ifdef XKMACHKERNEL /* --- 61,64 ---- *************** *** 69,75 **** static int testArgc = 1; - /* the inkernel version needs a pre-parsed initRom table */ - #include "initRom.c" - /* * Split "testArgs" into individual arguments and store them in --- 74,77 ---- *************** *** 103,106 **** --- 105,113 ---- #endif XKMACHKERNEL + #if defined(XKMACHKERNEL) || defined(XKMACH4) + /* the inkernel and mach4 versions needs a pre-parsed initRom table */ + #include "../inkernel/xkern.local/initRom.c" + #endif + int #ifndef XKMACHKERNEL *************** *** 112,117 **** char *argv[]; { ! #ifndef XKMACHKERNEL setbuf(stdout, 0); globalArgc = argc; globalArgv = argv; --- 119,126 ---- char *argv[]; { ! #ifndef XKMACHKERNEL ! #ifndef XKMACH4 setbuf(stdout, 0); + #endif XKMACH4 globalArgc = argc; globalArgv = argv; *************** *** 122,127 **** globalArgc = testArgc; globalArgv = testArgv; ! #endif ! XKMACHKERNEL ! xTraceInit(); initRom(); --- 131,146 ---- globalArgc = testArgc; globalArgv = testArgv; ! #endif XKMACHKERNEL ! #ifdef XKMACH4 ! /* (void) device_open(task_by_pid(-2), ! D_WRITE, ! "console", ! &__libmach_console_port);*/ ! ! printf_init(task_by_pid(-2)); ! #if 0 ! traceprotocol = TR_MAJOR_EVENTS; /* Was TR_EVENTS */ ! #endif ! #endif xTraceInit(); initRom(); *************** *** 170,174 **** #define ROM_LEN 200 ! #ifndef XKMACHKERNEL static void initRom() --- 189,193 ---- #define ROM_LEN 200 ! #if !defined(XKMACHKERNEL) && !defined(XKMACH4) static void initRom() *************** *** 242,244 **** fclose(f); } ! #endif XKMACHKERNEL --- 261,263 ---- fclose(f); } ! #endif XKMACHKERNEL && XKMACH4 diff -rC2 xkernel/xkernel/mach4/pxk/time.c xkernel.mach4/xkernel/mach4/pxk/time.c *** xkernel/xkernel/mach4/pxk/time.c Tue Nov 30 22:43:15 1993 --- xkernel.mach4/xkernel/mach4/pxk/time.c Fri Dec 15 21:15:53 1995 *************** *** 32,36 **** --- 32,44 ---- where->usec = time.microseconds; #else + #ifdef XKMACH4 + host_get_time(mach_host_self(), where); + #if 0 + where->sec = 0; /* FAKE! TODO! PNR */ + where->usec = 0; + #endif + #else gettimeofday((struct timeval *)where, 0); + #endif XKMACH4 #endif XKMACHKERNEL } diff -rC2 xkernel/xkernel/mach4/pxk/utils.c xkernel.mach4/xkernel/mach4/pxk/utils.c *** xkernel/xkernel/mach4/pxk/utils.c Tue Nov 30 22:43:17 1993 --- xkernel.mach4/xkernel/mach4/pxk/utils.c Fri Dec 15 21:15:53 1995 *************** *** 23,27 **** --- 23,31 ---- char *s; { + #ifdef XKMACH4 + printf("xkernel abort: %s\n", s); + #else fprintf(stderr, "xkernel abort: %s\n", s); + #endif xRapture(); abort(); Only in xkernel.mach4/xkernel/mach4/user/netipc/test: Makedep diff -rC2 xkernel/xkernel/makefiles/Makefile.local xkernel.mach4/xkernel/makefiles/Makefile.local *** xkernel/xkernel/makefiles/Makefile.local Tue Nov 30 22:44:59 1993 --- xkernel.mach4/xkernel/makefiles/Makefile.local Fri Dec 15 21:14:31 1995 *************** *** 88,92 **** export XPLATFORM MACHINE HOWTOCOMPILE XK_BYPASS_RCS export CC WARNINGS CC_SPECIFIC_FLAGS BUILD_CPPFLAGS BUILD_CFLAGS ! export SED MAKE REALCC RANLIB AR MAKEFILE MIG export MAKE_INCLUDE HOW XK_NO_LIBRARIES SYS_INCLUDES HOWTOCOMPILE ifndef XK_BYPASS_RCS --- 88,92 ---- export XPLATFORM MACHINE HOWTOCOMPILE XK_BYPASS_RCS export CC WARNINGS CC_SPECIFIC_FLAGS BUILD_CPPFLAGS BUILD_CFLAGS ! export SED MAKE REALCC RANLIB AR MAKEFILE MIG MIG_INCLUDES export MAKE_INCLUDE HOW XK_NO_LIBRARIES SYS_INCLUDES HOWTOCOMPILE ifndef XK_BYPASS_RCS Only in xkernel.mach4/xkernel: netbsd Only in xkernel.mach4/xkernel: oddlibs diff -rC2 xkernel/xkernel/pi/include/x_stdio.h xkernel.mach4/xkernel/pi/include/x_stdio.h *** xkernel/xkernel/pi/include/x_stdio.h Tue Nov 30 22:45:35 1993 --- xkernel.mach4/xkernel/pi/include/x_stdio.h Fri Dec 15 21:16:02 1995 *************** *** 14,21 **** #define x_stdio_h ! #ifndef XKMACHKERNEL #include #ifdef __STDC__ --- 14,23 ---- #define x_stdio_h ! #if !defined(XKMACHKERNEL) && !defined(XKMACH4) #include + #ifndef X_NETBSD + #ifdef __STDC__ *************** *** 39,43 **** #endif ! int _flsbuf(); int _filbuf(); --- 41,45 ---- #endif ! #endif NETBSD int _flsbuf(); int _filbuf(); diff -rC2 xkernel/xkernel/pi/prottbl_parse.c xkernel.mach4/xkernel/pi/prottbl_parse.c *** xkernel/xkernel/pi/prottbl_parse.c Tue Nov 30 22:45:17 1993 --- xkernel.mach4/xkernel/pi/prottbl_parse.c Fri Dec 15 21:16:05 1995 *************** *** 39,42 **** --- 39,43 ---- #define BUFSIZE 80 + #ifndef XKMACH4 #ifdef __STDC__ *************** *** 378,379 **** --- 379,381 ---- + #endif /* !XKMACH4 */ diff -rC2 xkernel/xkernel/pi/xk_debug.c xkernel.mach4/xkernel/pi/xk_debug.c *** xkernel/xkernel/pi/xk_debug.c Tue Nov 30 22:45:23 1993 --- xkernel.mach4/xkernel/pi/xk_debug.c Fri Dec 15 21:16:05 1995 *************** *** 48,52 **** { xTraceLock(); ! #ifndef XKMACHKERNEL fprintf(stderr, "%s\n", msg); #else --- 48,52 ---- { xTraceLock(); ! #if !defined(XKMACHKERNEL) && !defined(XKMACH4) fprintf(stderr, "%s\n", msg); #else Only in xkernel.mach4/xkernel/protocols: newObjectList.14926 Only in xkernel.mach4/xkernel/protocols: newObjectList.8298 diff -rC2 xkernel/xkernel/protocols/simsimeth/simsimeth.c xkernel.mach4/xkernel/protocols/simsimeth/simsimeth.c *** xkernel/xkernel/protocols/simsimeth/simsimeth.c Tue Nov 30 22:48:05 1993 --- xkernel.mach4/xkernel/protocols/simsimeth/simsimeth.c Fri Dec 15 21:16:57 1995 *************** *** 11,14 **** --- 11,16 ---- */ + #ifndef XKMACH4 + #include #include *************** *** 377,378 **** --- 379,381 ---- } + #endif /* !XKMACH4 */ diff -rC2 xkernel/xkernel/protocols/test/sunrpctest.c xkernel.mach4/xkernel/protocols/test/sunrpctest.c *** xkernel/xkernel/protocols/test/sunrpctest.c Tue Nov 30 22:49:22 1993 --- xkernel.mach4/xkernel/protocols/test/sunrpctest.c Fri Dec 15 21:17:06 1995 *************** *** 15,18 **** --- 15,23 ---- */ + #if defined(__GNUC__) && ! defined(XK_DEBUG) + # define XK_USE_INLINE + #endif + + #include #include "xkernel.h" #include diff -rC2 xkernel/xkernel/protocols/test/tcptest.c xkernel.mach4/xkernel/protocols/test/tcptest.c *** xkernel/xkernel/protocols/test/tcptest.c Tue Nov 30 22:49:23 1993 --- xkernel.mach4/xkernel/protocols/test/tcptest.c Fri Dec 15 21:17:07 1995 *************** *** 15,18 **** --- 15,27 ---- */ + #ifdef XKMACH4 + #if defined(__GNUC__) && ! defined(XK_DEBUG) + # define XK_USE_INLINE + #endif + + #include + #include + #endif + #include "xkernel.h" #include "tcp.h" Only in xkernel.mach4/xkernel/util/ptbldump: Makedep.intelx86 diff -rC2 xkernel/xkernel/util/ptbldump/Makefile xkernel.mach4/xkernel/util/ptbldump/Makefile *** xkernel/xkernel/util/ptbldump/Makefile Tue Nov 30 22:51:47 1993 --- xkernel.mach4/xkernel/util/ptbldump/Makefile Fri Dec 15 21:16:23 1995 *************** *** 12,15 **** --- 12,23 ---- # this directory. Make variable $(ARCH) defines the architecture type. + #Ugly, ugly + + #ARCH = intelx86 + #XPLATFORM = netbsd + #XRT = /usr/src/mach/xkernel + + #end ugly + CC = gcc TMP_CFLAGS = -g -fwritable-strings *************** *** 37,41 **** HOW = $(ARCH) ! TMP_INCLUDES = -I$(XRT)/$(XPLATFORM)/include -I$(XRT)/pi --- 45,49 ---- HOW = $(ARCH) ! TMP_INCLUDES = -DX_NETBSD -I$(XRT)/$(XPLATFORM)/include -I$(XRT)/pi Only in xkernel.mach4/xkernel/util/ptbldump: intelx86 diff -rC2 xkernel/xkernel/util/ptbldump/ptbldump.c xkernel.mach4/xkernel/util/ptbldump/ptbldump.c *** xkernel/xkernel/util/ptbldump/ptbldump.c Tue Nov 30 22:51:49 1993 --- xkernel.mach4/xkernel/util/ptbldump/ptbldump.c Fri Dec 15 21:16:23 1995 *************** *** 16,20 **** */ - #include "x_stdio.h" #include "xtype.h" --- 16,19 ---- Only in xkernel.mach4: xkernel-obj