Browse Source

First round kernel compilation

Elbing Miss 9 years ago
parent
commit
7ce7c0d410
85 changed files with 402 additions and 290 deletions
  1. 3 3
      sys/src/9/386/devether.c
  2. 1 1
      sys/src/9/386/devrtc.c
  3. 1 1
      sys/src/9/386/ether8169.c
  4. 7 3
      sys/src/9/386/ether82557.c
  5. 1 1
      sys/src/9/386/etherigbe.c
  6. 32 5
      sys/src/9/386/kbd.c
  7. 10 10
      sys/src/9/386/random.c
  8. 2 2
      sys/src/9/386/uarti8250.c
  9. 3 3
      sys/src/9/boot/boot.h
  10. 1 1
      sys/src/9/boot/printstub.c
  11. 1 1
      sys/src/9/ip/arp.c
  12. 3 3
      sys/src/9/ip/devip.c
  13. 2 2
      sys/src/9/ip/ethermedium.c
  14. 1 1
      sys/src/9/ip/icmp.c
  15. 1 1
      sys/src/9/ip/icmp6.c
  16. 2 2
      sys/src/9/ip/inferno.c
  17. 2 2
      sys/src/9/ip/ipifc.c
  18. 2 2
      sys/src/9/ip/loopbackmedium.c
  19. 1 1
      sys/src/9/ip/netdevmedium.c
  20. 3 3
      sys/src/9/ip/netlog.c
  21. 3 3
      sys/src/9/ip/nullmedium.c
  22. 3 3
      sys/src/9/ip/pktmedium.c
  23. 2 2
      sys/src/9/ip/tcp.c
  24. 1 1
      sys/src/9/ip/udp.c
  25. 1 1
      sys/src/9/k10/BUILD
  26. 40 40
      sys/src/9/k10/asm.c
  27. 1 1
      sys/src/9/k10/dat.h
  28. 18 18
      sys/src/9/k10/devacpi.c
  29. 5 5
      sys/src/9/k10/devarch.c
  30. 6 0
      sys/src/9/k10/dumpinith.sh
  31. 3 3
      sys/src/9/k10/ether82563.c
  32. 7 7
      sys/src/9/k10/fpu.c
  33. 1 1
      sys/src/9/k10/i8254.c
  34. 2 2
      sys/src/9/k10/ioapic.c
  35. 1 1
      sys/src/9/k10/k8cpu
  36. 1 1
      sys/src/9/k10/k8cpunoasm
  37. 1 1
      sys/src/9/k10/main.c
  38. 59 0
      sys/src/9/k10/makefile
  39. 6 11
      sys/src/9/k10/mkfile
  40. 1 1
      sys/src/9/k10/mmu.c
  41. 2 2
      sys/src/9/k10/qmalloc.c
  42. 1 0
      sys/src/9/k10/root/mkfile
  43. 9 9
      sys/src/9/k10/trap.c
  44. 4 4
      sys/src/9/mk/bootmkfile
  45. 1 1
      sys/src/9/mk/mkroot
  46. 2 2
      sys/src/9/mk/mkrootall
  47. 17 16
      sys/src/9/mk/parse
  48. 5 4
      sys/src/9/mk/portmkfile
  49. 1 1
      sys/src/9/port/alarm.c
  50. 2 2
      sys/src/9/port/chan.c
  51. 5 5
      sys/src/9/port/dev.c
  52. 3 3
      sys/src/9/port/devcap.c
  53. 2 2
      sys/src/9/port/devcons.c
  54. 3 3
      sys/src/9/port/devdup.c
  55. 2 2
      sys/src/9/port/devenv.c
  56. 2 2
      sys/src/9/port/devkprof.c
  57. 2 2
      sys/src/9/port/devpci.c
  58. 4 4
      sys/src/9/port/devpipe.c
  59. 4 4
      sys/src/9/port/devpmc.c
  60. 4 4
      sys/src/9/port/devproc.c
  61. 3 3
      sys/src/9/port/devroot.c
  62. 1 1
      sys/src/9/port/devsegment.c
  63. 3 3
      sys/src/9/port/devsrv.c
  64. 4 4
      sys/src/9/port/devssl.c
  65. 1 1
      sys/src/9/port/devtab.c
  66. 1 1
      sys/src/9/port/devuart.c
  67. 1 1
      sys/src/9/port/devws.c
  68. 4 4
      sys/src/9/port/devzp.c
  69. 8 8
      sys/src/9/port/edf.c
  70. 1 1
      sys/src/9/port/ethermii.h
  71. 11 0
      sys/src/9/port/lib.h
  72. 3 3
      sys/src/9/port/netif.c
  73. 1 1
      sys/src/9/port/netif.h
  74. 2 2
      sys/src/9/port/pager.c
  75. 1 1
      sys/src/9/port/portclock.c
  76. 5 5
      sys/src/9/port/portdat.h
  77. 1 1
      sys/src/9/port/print.c
  78. 5 5
      sys/src/9/port/proc.c
  79. 6 0
      sys/src/9/port/syscallfmt.c
  80. 3 3
      sys/src/9/port/sysfile.c
  81. 4 4
      sys/src/9/port/sysproc.c
  82. 2 2
      sys/src/9/port/syssem.c
  83. 1 1
      sys/src/9/port/syszio.c
  84. 13 13
      sys/src/9/port/taslock.c
  85. 1 0
      sys/src/9/root/mkfile

+ 3 - 3
sys/src/9/386/devether.c

@@ -67,7 +67,7 @@ etheropen(Chan* chan, int omode)
 }
 
 static void
-ethercreate(Chan*, char*, int, int)
+ethercreate(Chan* c, char* d, int i, int n)
 {
 }
 
@@ -250,7 +250,7 @@ etheroq(Ether* ether, Block* bp)
 }
 
 static int32_t
-etherwrite(Chan* chan, void* buf, int32_t n, int64_t)
+etherwrite(Chan* chan, void* buf, int32_t n, int64_t m)
 {
 	Ether *ether;
 	Block *bp;
@@ -299,7 +299,7 @@ etherwrite(Chan* chan, void* buf, int32_t n, int64_t)
 }
 
 static int32_t
-etherbwrite(Chan* chan, Block* bp, int64_t)
+etherbwrite(Chan* chan, Block* bp, int64_t m)
 {
 	Ether *ether;
 	int32_t n;

+ 1 - 1
sys/src/9/386/devrtc.c

@@ -105,7 +105,7 @@ rtcopen(Chan* c, int omode)
 }
 
 static void	 
-rtcclose(Chan*)
+rtcclose(Chan* c)
 {
 }
 

+ 1 - 1
sys/src/9/386/ether8169.c

@@ -1020,7 +1020,7 @@ rtl8169receive(Ether* edev)
 }
 
 static void
-rtl8169interrupt(Ureg*, void* arg)
+rtl8169interrupt(Ureg* ureg, void* arg)
 {
 	Ctlr *ctlr;
 	Ether *edev;

+ 7 - 3
sys/src/9/386/ether82557.c

@@ -349,12 +349,14 @@ rfdalloc(uint32_t link)
 	return bp;
 }
 
+static void txstart(Ether*);
+
 static void
 watchdog(void* arg)
 {
 	Ether *ether;
 	Ctlr *ctlr;
-	static void txstart(Ether*);
+	//static void txstart(Ether*);
 
 	ether = arg;
 	for(;;){
@@ -408,6 +410,8 @@ attach(Ether* ether)
 	unlock(&ctlr->slock);
 }
 
+static int miir(Ctlr*, int, int);
+
 static int32_t
 ifstat(Ether* ether, void* a, int32_t n, uint32_t offset)
 {
@@ -478,7 +482,7 @@ ifstat(Ether* ether, void* a, int32_t n, uint32_t offset)
 		phyaddr = ctlr->eeprom[6] & 0x00FF;
 		len += snprint(p+len, READSTR-len, "\nphy %2d:", phyaddr);
 		for(i = 0; i < 6; i++){
-			static int miir(Ctlr*, int, int);
+			//static int miir(Ctlr*, int, int);
 
 			len += snprint(p+len, READSTR-len, " %4.4ux",
 				miir(ctlr, phyaddr, i));
@@ -698,7 +702,7 @@ receive(Ether* ether)
 }
 
 static void
-interrupt(Ureg*, void* arg)
+interrupt(Ureg* ureg, void* arg)
 {
 	Cb* cb;
 	Ctlr *ctlr;

+ 1 - 1
sys/src/9/386/etherigbe.c

@@ -1238,7 +1238,7 @@ igbeattach(Ether* edev)
 }
 
 static void
-igbeinterrupt(Ureg*, void* arg)
+igbeinterrupt(Ureg* ureg, void* arg)
 {
 	Ctlr *ctlr;
 	Ether *edev;

+ 32 - 5
sys/src/9/386/kbd.c

@@ -146,18 +146,23 @@ Rune kbtabaltgr[Nscan] =
 [0x78]	No,	Up,	No,	No,	No,	No,	No,	No,
 };
 
+/*
 Rune kbtabctrl[] =
 {
 [0x00]	No,	'', 	'', 	'', 	'', 	'', 	'', 	'', 
-[0x08]	'', 	'', 	'', 	'', 	'
', 	'', 	'\b',	'\t',
+[0x08]	'', 	'', 	'', 	'', 	'
+', 	'', 	'\b',	'\t',
 [0x10]	'', 	'', 	'', 	'', 	'', 	'', 	'', 	'\t',
 [0x18]	'', 	'', 	'', 	'', 	'\n',	Ctrl,	'', 	'', 
 [0x20]	'', 	'', 	'', 	'\b',	'\n',	'', 	'', 	'', 
 [0x28]	'', 	No, 	Shift,	'', 	'', 	'', 	'', 	'', 
-[0x30]	'', 	'', 	'
', 	'', 	'', 	'', 	Shift,	'\n',
+[0x30]	'', 	'', 	'
+', 	'', 	'', 	'', 	Shift,	'\n',
 [0x38]	Latin,	No, 	Ctrl,	'', 	'', 	'', 	'', 	'', 
-[0x40]	'', 	'', 	'', 	'
', 	'', 	'', 	'', 	'', 
-[0x48]	'', 	'', 	'
', 	'', 	'', 	'', 	'', 	'', 
+[0x40]	'', 	'', 	'', 	'
+', 	'', 	'', 	'', 	'', 
+[0x48]	'', 	'', 	'
+', 	'', 	'', 	'', 	'', 	'', 
 [0x50]	'', 	'', 	'', 	'', 	No,	No,	No,	'', 
 [0x58]	'', 	No,	No,	No,	No,	No,	No,	No,
 [0x60]	No,	No,	No,	No,	No,	No,	No,	No,
@@ -165,6 +170,28 @@ Rune kbtabctrl[] =
 [0x70]	No,	No,	No,	No,	No,	No,	No,	No,
 [0x78]	No,	'', 	No,	'\b',	No,	No,	No,	No,
 };
+*/
+
+/* From LP49 */
+Rune kbtabctrl[] =  /* GCC cannot handle plan9 code !? */
+{
+[0x00]  No,     No,     No,     No,     No,     No,     No,     No,
+[0x08]  No,     No,     No,     No,     No,     No,     '\177', No,
+[0x10]  No,     No,     No,     No,     No,     No,     No,     No,
+[0x18]  No,     No,     No,     No,     '\n',   Ctrl,   No,     No,
+[0x20]  No,     No,     No,     '\b',   '\n',   No,     No,     No,
+[0x28]  No,     No,     Shift,  No,     No,     No,     No,     No,
+[0x30]  No,     No,     No,     No,     No,     No,     No,     No,
+[0x38]  No,     No,     No,     No,     No,     No,     No,     No,
+[0x40]  No,     No,     No,     No,     No,     No,     No,     No,
+[0x48]  No,     No,     No,     No,     No,     No,     No,     No,
+[0x50]  No,     No,     No,     No,     No,     No,     No,     No,
+[0x58]  No,     No,     No,     No,     No,     No,     No,     No,
+[0x60]  No,     No,     No,     No,     No,     No,     No,     No,
+[0x68]  No,     No,     No,     No,     No,     No,     No,     No,
+[0x70]  No,     No,     No,     No,     No,     No,     No,     No,
+[0x78]  No,     Up,     No,     No,     No,     No,     No,     No,
+};
 
 enum
 {
@@ -325,7 +352,7 @@ struct {
  *  keyboard interrupt
  */
 static void
-i8042intr(Ureg*, void*)
+i8042intr(Ureg* u, void* v)
 {
 	int s, c, i;
 	int keyup;

+ 10 - 10
sys/src/9/386/random.c

@@ -19,18 +19,18 @@ struct Rb
 	Rendez	producer;
 	Rendez	consumer;
 	uint32_t	randomcount;
-	uchar	buf[1024];
-	uchar	*ep;
-	uchar	*rp;
-	uchar	*wp;
-	uchar	next;
-	uchar	wakeme;
-	ushort	bits;
+	unsigned char	buf[1024];
+	unsigned char	*ep;
+	unsigned char	*rp;
+	unsigned char	*wp;
+	unsigned char	next;
+	unsigned char	wakeme;
+	uint16_t	bits;
 	uint32_t	randn;
 } rb;
 
 static int
-rbnotfull(void*)
+rbnotfull(void* v)
 {
 	int i;
 
@@ -39,13 +39,13 @@ rbnotfull(void*)
 }
 
 static int
-rbnotempty(void*)
+rbnotempty(void* v)
 {
 	return rb.wp != rb.rp;
 }
 
 static void
-genrandom(void*)
+genrandom(void* v)
 {
 	up->basepri = PriNormal;
 	up->priority = up->basepri;

+ 2 - 2
sys/src/9/386/uarti8250.c

@@ -120,7 +120,7 @@ typedef struct Ctlr {
 	void*	vector;
 	int	poll;
 
-	uchar	sticky[8];
+	unsigned char	sticky[8];
 
 	Lock;
 	int	hasfifo;
@@ -470,7 +470,7 @@ i8250kick(Uart* uart)
 }
 
 static void
-i8250interrupt(Ureg*, void* arg)
+i8250interrupt(Ureg* ureg, void* arg)
 {
 	Ctlr *ctlr;
 	Uart *uart;

+ 3 - 3
sys/src/9/boot/boot.h

@@ -32,8 +32,8 @@ extern int	kflag;
 extern Method	method[];
 extern void	(*pword)(int, Method*);
 extern char	sys[];
-extern uchar	hostkey[];
-extern uchar	statbuf[Statsz];
+extern unsigned char	hostkey[];
+extern unsigned char	statbuf[Statsz];
 extern int	bargc;
 extern char	*bargv[Nbarg];
 
@@ -46,7 +46,7 @@ extern void	key(int, Method*);
 extern int	outin(char*, char*, int);
 extern int	plumb(char*, char*, int*, char*);
 extern int	readfile(char*, char*, int);
-extern long	readn(int, void*, long);
+extern int32_t	readn(int, void*, int32_t);
 extern void	run(char *file, ...);
 extern int	sendmsg(int, char*);
 extern void	setenv(char*, char*);

+ 1 - 1
sys/src/9/boot/printstub.c

@@ -25,7 +25,7 @@ _fmtunlock(void)
 }
 
 int
-_efgfmt(Fmt*)
+_efgfmt(Fmt* f)
 {
 	return -1;
 }

+ 1 - 1
sys/src/9/ip/arp.c

@@ -264,7 +264,7 @@ arpget(Arp *arp, Block *bp, int version, Ipifc *ifc, uint8_t *ip,
  * called with arp locked
  */
 void
-arprelease(Arp *arp, Arpent*)
+arprelease(Arp *arp, Arpent* arpen)
 {
 	qunlock(arp);
 }

+ 3 - 3
sys/src/9/ip/devip.c

@@ -180,7 +180,7 @@ ip1gen(Chan *c, int i, Dir *dp)
 }
 
 static int
-ipgen(Chan *c, char*, Dirtab*, int, int s, Dir *dp)
+ipgen(Chan *c, char* j, Dirtab* dir, int m, int s, Dir *dp)
 {
 	Qid q;
 	Conv *cv;
@@ -515,13 +515,13 @@ ipopen(Chan* c, int omode)
 }
 
 static void
-ipcreate(Chan*, char*, int, int)
+ipcreate(Chan* c, char* n, int i, int m)
 {
 	error(Eperm);
 }
 
 static void
-ipremove(Chan*)
+ipremove(Chan* c)
 {
 	error(Eperm);
 }

+ 2 - 2
sys/src/9/ip/ethermedium.c

@@ -433,7 +433,7 @@ etherread6(void *a)
 }
 
 static void
-etheraddmulti(Ipifc *ifc, uint8_t *a, uint8_t *)
+etheraddmulti(Ipifc *ifc, uint8_t *a, uint8_t *b)
 {
 	uint8_t mac[6];
 	char buf[64];
@@ -455,7 +455,7 @@ etheraddmulti(Ipifc *ifc, uint8_t *a, uint8_t *)
 }
 
 static void
-etherremmulti(Ipifc *ifc, uint8_t *a, uint8_t *)
+etherremmulti(Ipifc *ifc, uint8_t *a, uint8_t *b)
 {
 	uint8_t mac[6];
 	char buf[64];

+ 1 - 1
sys/src/9/ip/icmp.c

@@ -330,7 +330,7 @@ static char *unreachcode[] =
 };
 
 static void
-icmpiput(Proto *icmp, Ipifc*, Block *bp)
+icmpiput(Proto *icmp, Ipifc* i, Block *bp)
 {
 	int	n, iplen;
 	Icmp	*p;

+ 1 - 1
sys/src/9/ip/icmp6.c

@@ -121,7 +121,7 @@ typedef struct Icmppriv6
 typedef struct Icmpcb6
 {
 	QLock;
-	uchar	headers;
+	unsigned char	headers;
 } Icmpcb6;
 
 char *icmpnames6[Maxtype6+1] =

+ 2 - 2
sys/src/9/ip/inferno.c

@@ -38,13 +38,13 @@ commonerror(void)
 }
 
 char*
-bootp(Ipifc*)
+bootp(Ipifc* i)
 {
 	return "unimplmented";
 }
 
 int
-bootpread(char*, uint32_t, int)
+bootpread(char* c, uint32_t n, int i)
 {
 	return	0;
 }

+ 2 - 2
sys/src/9/ip/ipifc.c

@@ -1515,14 +1515,14 @@ ipifcremmulti(Conv *c, uint8_t *ma, uint8_t *ia)
 static char*
 ipifcjoinmulti(Ipifc *ifc, char **argv, int argc)
 {
-	USED(ifc, argv, argc);
+	USED(ifc); USED(argv); USED(argc);
 	return nil;
 }
 
 static char*
 ipifcleavemulti(Ipifc *ifc, char **argv, int argc)
 {
-	USED(ifc, argv, argc);
+	USED(ifc); USED(argv); USED(argc);
 	return nil;
 }
 

+ 2 - 2
sys/src/9/ip/loopbackmedium.c

@@ -32,7 +32,7 @@ struct LB
 static void loopbackread(void *a);
 
 static void
-loopbackbind(Ipifc *ifc, int, char**)
+loopbackbind(Ipifc *ifc, int i, char** c)
 {
 	LB *lb;
 
@@ -64,7 +64,7 @@ loopbackunbind(Ipifc *ifc)
 }
 
 static void
-loopbackbwrite(Ipifc *ifc, Block *bp, int, uint8_t*)
+loopbackbwrite(Ipifc *ifc, Block *bp, int i, uint8_t* m)
 {
 	LB *lb;
 

+ 1 - 1
sys/src/9/ip/netdevmedium.c

@@ -92,7 +92,7 @@ netdevunbind(Ipifc *ifc)
  *  called by ipoput with a single block to write
  */
 static void
-netdevbwrite(Ipifc *ifc, Block *bp, int, uint8_t*)
+netdevbwrite(Ipifc *ifc, Block *bp, int i, uint8_t* n)
 {
 	Netdevrock *er = ifc->arg;
 

+ 3 - 3
sys/src/9/ip/netlog.c

@@ -23,7 +23,7 @@ enum {
  *  action log
  */
 struct Netlog {
-	Lock;
+	Lock	_lock;
 	int	opens;
 	char*	buf;
 	char	*end;
@@ -31,7 +31,7 @@ struct Netlog {
 	int	len;
 
 	int	logmask;			/* mask of things to debug */
-	uchar	iponly[IPaddrlen];		/* ip address to print debugging for */
+	unsigned char	iponly[IPaddrlen];		/* ip address to print debugging for */
 	int	iponlyset;
 
 	QLock;
@@ -130,7 +130,7 @@ netlogready(void *a)
 }
 
 int32_t
-netlogread(Fs *f, void *a, uint32_t, int32_t n)
+netlogread(Fs *f, void *a, uint32_t m, int32_t n)
 {
 	int i, d;
 	char *p, *rptr;

+ 3 - 3
sys/src/9/ip/nullmedium.c

@@ -17,18 +17,18 @@
 #include "ip.h"
 
 static void
-nullbind(Ipifc*, int, char**)
+nullbind(Ipifc* i, int n, char** c)
 {
 	error("cannot bind null device");
 }
 
 static void
-nullunbind(Ipifc*)
+nullunbind(Ipifc* i)
 {
 }
 
 static void
-nullbwrite(Ipifc*, Block*, int, uint8_t*)
+nullbwrite(Ipifc* i, Block* b, int n, uint8_t* m)
 {
 	error("nullbwrite");
 }

+ 3 - 3
sys/src/9/ip/pktmedium.c

@@ -41,7 +41,7 @@ Medium pktmedium =
  *  called with ifc wlock'd
  */
 static void
-pktbind(Ipifc*, int, char**)
+pktbind(Ipifc* i, int n, char** c)
 {
 }
 
@@ -49,7 +49,7 @@ pktbind(Ipifc*, int, char**)
  *  called with ifc wlock'd
  */
 static void
-pktunbind(Ipifc*)
+pktunbind(Ipifc* i)
 {
 }
 
@@ -57,7 +57,7 @@ pktunbind(Ipifc*)
  *  called by ipoput with a single packet to write
  */
 static void
-pktbwrite(Ipifc *ifc, Block *bp, int, uint8_t*)
+pktbwrite(Ipifc *ifc, Block *bp, int i, uint8_t* m)
 {
 	/* enqueue onto the conversation's rq */
 	bp = concatblock(bp);

+ 2 - 2
sys/src/9/ip/tcp.c

@@ -1975,7 +1975,7 @@ done:
 }
 
 static void
-tcpiput(Proto *tcp, Ipifc*, Block *bp)
+tcpiput(Proto *tcp, Ipifc* i, Block *bp)
 {
 	Tcp seg;
 	Tcp4hdr *h4;
@@ -2783,7 +2783,7 @@ tcpstartka(Conv *s, char **f, int n)
  *  turn checksums on/off
  */
 static char*
-tcpsetchecksum(Conv *s, char **f, int)
+tcpsetchecksum(Conv *s, char **f, int i)
 {
 	Tcpctl *tcb;
 

+ 1 - 1
sys/src/9/ip/udp.c

@@ -111,7 +111,7 @@ typedef struct Udpcb Udpcb;
 struct Udpcb
 {
 	QLock;
-	uchar	headers;
+	unsigned char	headers;
 };
 
 static char*

+ 1 - 1
sys/src/9/k10/BUILD

@@ -189,7 +189,7 @@ apicdump(void)
 }
 
 static void
-apictimer(Ureg* ureg, void*)
+apictimer(Ureg* ureg, void* v)
 {
 	timerintr(ureg, 0);
 }

+ 40 - 40
sys/src/9/k10/asm.c

@@ -53,36 +53,36 @@ static Asm* asmfreelist;
 /*static*/ void
 asmdump(void)
 {
-	Asm* asm;
+	Asm* assem;
 
 	print("asm: index %d:\n", asmindex);
-	for(asm = asmlist; asm != nil; asm = asm->next){
+	for(assem = asmlist; assem != nil; assem = assem->next){
 		print(" %#P %#P %d (%P)\n",
-			asm->addr, asm->addr+asm->size,
-			asm->type, asm->size);
+			assem->addr, assem->addr+assem->size,
+			assem->type, assem->size);
 	}
 }
 
 static Asm*
 asmnew(uintmem addr, uintmem size, int type)
 {
-	Asm * asm;
+	Asm * assem;
 
 	if(asmfreelist != nil){
-		asm = asmfreelist;
-		asmfreelist = asm->next;
-		asm->next = nil;
+		assem = asmfreelist;
+		asmfreelist = assem->next;
+		assem->next = nil;
 	}
 	else{
 		if(asmindex >= nelem(asmarray))
 			return nil;
-		asm = &asmarray[asmindex++];
+		assem = &asmarray[asmindex++];
 	}
-	asm->addr = addr;
-	asm->size = size;
-	asm->type = type;
+	assem->addr = addr;
+	assem->size = size;
+	assem->type = type;
 
-	return asm;
+	return assem;
 }
 
 int
@@ -153,14 +153,14 @@ uintmem
 asmalloc(uintmem addr, uintmem size, int type, int align)
 {
 	uintmem a, o;
-	Asm *asm, *pp;
+	Asm *assem, *pp;
 
 	DBG("asmalloc: %#P@%#P, type %d\n", size, addr, type);
 	lock(&asmlock);
-	for(pp = nil, asm = asmlist; asm != nil; pp = asm, asm = asm->next){
-		if(asm->type != type)
+	for(pp = nil, assem = asmlist; assem != nil; pp = assem, assem = assem->next){
+		if(assem->type != type)
 			continue;
-		a = asm->addr;
+		a = assem->addr;
 
 		if(addr != 0){
 			/*
@@ -178,26 +178,26 @@ asmalloc(uintmem addr, uintmem size, int type, int align)
 			 */
 			if(a > addr)
 				break;
-			if(asm->size < addr - a)
+			if(assem->size < addr - a)
 				continue;
-			if(addr - a > asm->size - size)
+			if(addr - a > assem->size - size)
 				break;
 			a = addr;
 		}
 
 		if(align > 0)
 			a = ((a+align-1)/align)*align;
-		if(asm->addr+asm->size-a < size)
+		if(assem->addr+assem->size-a < size)
 			continue;
 
-		o = asm->addr;
-		asm->addr = a+size;
-		asm->size -= a-o+size;
-		if(asm->size == 0){
+		o = assem->addr;
+		assem->addr = a+size;
+		assem->size -= a-o+size;
+		if(assem->size == 0){
 			if(pp != nil)
-				pp->next = asm->next;
-			asm->next = asmfreelist;
-			asmfreelist = asm;
+				pp->next = assem->next;
+			assem->next = asmfreelist;
+			asmfreelist = assem;
 		}
 
 		unlock(&asmlock);
@@ -318,7 +318,7 @@ void
 asmmeminit(void)
 {
 	int i, l;
-	Asm* asm;
+	Asm* assem;
 	PTE *pte, *pml4;
 	uintptr va;
 	uintmem hi, lo, mem, nextmem, pa;
@@ -350,16 +350,16 @@ asmmeminit(void)
 #ifdef ConfCrap
 	cx = 0;
 #endif /* ConfCrap */
-	for(asm = asmlist; asm != nil; asm = asm->next){
-		if(asm->type != AsmMEMORY)
+	for(assem = asmlist; assem != nil; assem = assem->next){
+		if(assem->type != AsmMEMORY)
 			continue;
-		va = KSEG2+asm->addr;
+		va = KSEG2+assem->addr;
 		print("asm: addr %#P end %#P type %d size %P\n",
-			asm->addr, asm->addr+asm->size,
-			asm->type, asm->size);
+			assem->addr, assem->addr+assem->size,
+			assem->type, assem->size);
 
-		lo = asm->addr;
-		hi = asm->addr+asm->size;
+		lo = assem->addr;
+		hi = assem->addr+assem->size;
 		/* Convert a range into pages */
 		for(mem = lo; mem < hi; mem = nextmem){
 			nextmem = (mem + PGLSZ(0)) & ~m->pgszmask[0];
@@ -393,7 +393,7 @@ asmmeminit(void)
 		 */
 		if(cx >= nelem(conf.mem))
 			continue;
-		lo = ROUNDUP(asm->addr, PGSZ);
+		lo = ROUNDUP(assem->addr, PGSZ);
 //if(lo >= 600ull*MiB)
 //    continue;
 		conf.mem[cx].base = lo;
@@ -426,13 +426,13 @@ asmmeminit(void)
 void
 asmumeminit(void)
 {
-	Asm *asm;
+	Asm *assem;
 	extern void physallocdump(void);
 
-	for(asm = asmlist; asm != nil; asm = asm->next){
-		if(asm->type != AsmMEMORY)
+	for(assem = asmlist; assem != nil; assem = assem->next){
+		if(assem->type != AsmMEMORY)
 			continue;
-		physinit(asm->addr, asm->size);
+		physinit(assem->addr, assem->size);
 	}
 	physallocdump();
 }

+ 1 - 1
sys/src/9/k10/dat.h

@@ -211,7 +211,7 @@ struct ICC
  */
 struct PmcCtl {
 	Ref;
-	uint32_t coreno;
+	uint32_t _coreno;
 	int enab;
 	int user;
 	int os;

+ 18 - 18
sys/src/9/k10/devacpi.c

@@ -122,93 +122,93 @@ l64get(uint8_t* p)
 }
 
 static uint8_t
-mget8(uintptr_t p, void*)
+mget8(uintptr_t p, void *j)
 {
 	uint8_t *cp = (uint8_t*)p;
 	return *cp;
 }
 
 static void
-mset8(uintptr_t p, uint8_t v, void*)
+mset8(uintptr_t p, uint8_t v, void *j)
 {
 	uint8_t *cp = (uint8_t*)p;
 	*cp = v;
 }
 
 static uint16_t
-mget16(uintptr_t p, void*)
+mget16(uintptr_t p, void *j)
 {
 	uint16_t *cp = (uint16_t*)p;
 	return *cp;
 }
 
 static void
-mset16(uintptr_t p, uint16_t v, void*)
+mset16(uintptr_t p, uint16_t v, void *j)
 {
 	uint16_t *cp = (uint16_t*)p;
 	*cp = v;
 }
 
 static uint32_t
-mget32(uintptr_t p, void*)
+mget32(uintptr_t p, void *j)
 {
 	uint32_t *cp = (uint32_t*)p;
 	return *cp;
 }
 
 static void
-mset32(uintptr_t p, uint32_t v, void*)
+mset32(uintptr_t p, uint32_t v, void *j)
 {
 	uint32_t *cp = (uint32_t*)p;
 	*cp = v;
 }
 
 static uint64_t
-mget64(uintptr_t p, void*)
+mget64(uintptr_t p, void *j)
 {
 	uint64_t *cp = (uint64_t*)p;
 	return *cp;
 }
 
 static void
-mset64(uintptr_t p, uint64_t v, void*)
+mset64(uintptr_t p, uint64_t v, void *j)
 {
 	uint64_t *cp = (uint64_t*)p;
 	*cp = v;
 }
 
 static uint8_t
-ioget8(uintptr_t p, void*)
+ioget8(uintptr_t p, void *j)
 {
 	return inb(p);
 }
 
 static void
-ioset8(uintptr_t p, uint8_t v, void*)
+ioset8(uintptr_t p, uint8_t v, void *j)
 {
 	outb(p, v);
 }
 
 static uint16_t
-ioget16(uintptr_t p, void*)
+ioget16(uintptr_t p, void *j)
 {
 	return ins(p);
 }
 
 static void
-ioset16(uintptr_t p, uint16_t v, void*)
+ioset16(uintptr_t p, uint16_t v, void *j)
 {
 	outs(p, v);
 }
 
 static uint32_t
-ioget32(uintptr_t p, void*)
+ioget32(uintptr_t p, void *j)
 {
 	return inl(p);
 }
 
 static void
-ioset32(uintptr_t p, uint32_t v, void*)
+ioset32(uintptr_t p, uint32_t v, void *j)
 {
 	outl(p, v);
 }
@@ -563,7 +563,7 @@ dumpfadt(Fadt *fp)
 }
 
 static Atable*
-acpifadt(uint8_t *p, int)
+acpifadt(uint8_t *p, int i)
 {
 	Fadt *fp;
 
@@ -1250,7 +1250,7 @@ acpirsdptr(void)
 }
 
 static int
-acpigen(Chan *c, char*, Dirtab *tab, int ntab, int i, Dir *dp)
+acpigen(Chan *c, char* d, Dirtab *tab, int ntab, int i, Dir *dp)
 {
 	Qid qid;
 
@@ -1428,7 +1428,7 @@ getgpests(int n)
 }
 
 static void
-acpiintr(Ureg*, void*)
+acpiintr(Ureg* ureg, void *j)
 {
 	int i;
 	uint sts, en;
@@ -1571,7 +1571,7 @@ acpiopen(Chan *c, int omode)
 }
 
 static void
-acpiclose(Chan *)
+acpiclose(Chan *c)
 {
 }
 

+ 5 - 5
sys/src/9/k10/devarch.c

@@ -150,7 +150,7 @@ ioinit(void)
 // This is in particular useful for exchangable cards, such
 // as pcmcia and cardbus cards.
 int
-ioreserve(int, int size, int align, char *tag)
+ioreserve(int n, int size, int align, char *tag)
 {
 	IOMap *map, **l;
 	int i, port;
@@ -340,7 +340,7 @@ archopen(Chan* c, int omode)
 }
 
 static void
-archclose(Chan*)
+archclose(Chan* c)
 {
 }
 
@@ -354,7 +354,7 @@ archread(Chan *c, void *a, long n, int64_t offset)
 {
 	char *buf, *p;
 	int port;
-	ushort *sp;
+	uint16_t *sp;
 	uint32_t *lp;
 	IOMap *map;
 	Rdwrfn *fn;
@@ -523,7 +523,7 @@ nop(void)
 void (*coherence)(void) = mfence;
 
 static int32_t
-cputyperead(Chan*, void *a, int32_t n, int64_t off)
+cputyperead(Chan* c, void *a, int32_t n, int64_t off)
 {
 	char buf[512], *s, *e;
 	int i, k;
@@ -581,7 +581,7 @@ fastticks(uint64_t* hz)
 }
 
 uint32_t
-µs(void)
+ms(void)
 {
 	return fastticks2us(rdtsc());
 }

+ 6 - 0
sys/src/9/k10/dumpinith.sh

@@ -0,0 +1,6 @@
+#!/home/elbing/source/plan9port/bin/rc
+
+echo 'unsigned char initcode[]={' >> init.h
+xd -1x init.out | sed -e 's/^[0-9a-f]+ //' -e 's/ ([0-9a-f][0-9a-f])/0x\1,/g' >> init.h
+echo '};' >> init.h
+

+ 3 - 3
sys/src/9/k10/ether82563.c

@@ -1490,7 +1490,7 @@ i82563attach(Ether* edev)
 }
 
 static void
-i82563interrupt(Ureg*, void* arg)
+i82563interrupt(Ureg* ureg, void* arg)
 {
 	Ctlr *ctlr;
 	Ether *edev;
@@ -1530,7 +1530,7 @@ i82563interrupt(Ureg*, void* arg)
 
 /* assume misrouted interrupts and check all controllers */
 static void
-i82575interrupt(Ureg*, void *)
+i82575interrupt(Ureg* ureg, void *v)
 {
 	Ctlr *ctlr;
 
@@ -1636,7 +1636,7 @@ eeload(Ctlr *ctlr)
 }
 
 static int
-fcycle(Ctlr *, Flash *f)
+fcycle(Ctlr *ctlr, Flash *f)
 {
 	uint16_t s, i;
 

+ 7 - 7
sys/src/9/k10/fpu.c

@@ -76,13 +76,13 @@ enum {						/* PFPU.state */
 };
 
 extern void _clts(void);
-extern void _fldcw(u16int);
+extern void _fldcw(uint16_t);
 extern void _fnclex(void);
 extern void _fninit(void);
 extern void _fxrstor(Fxsave*);
 extern void _fxsave(Fxsave*);
 extern void _fwait(void);
-extern void _ldmxcsr(u32int);
+extern void _ldmxcsr(uint32_t);
 extern void _stts(void);
 
 int
@@ -118,7 +118,7 @@ fpudevprocio(Proc* proc, void* a, int32_t n, uintptr_t offset, int write)
 }
 
 void
-fpunotify(Ureg*)
+fpunotify(Ureg* u)
 {
 	/*
 	 * Called when a note is about to be delivered to a
@@ -147,7 +147,7 @@ fpunoted(void)
 }
 
 void
-fpusysrfork(Ureg*)
+fpusysrfork(Ureg* u)
 {
 	/*
 	 * Called early in the non-interruptible path of
@@ -303,7 +303,7 @@ fpunote(void)
 }
 
 char*
-xfpuxf(Ureg* ureg, void*)
+xfpuxf(Ureg* ureg, void* v)
 {
 	uint32_t mxcsr;
 	Fxsave *fpusave;
@@ -368,7 +368,7 @@ acfpuxf(Ureg *ureg, void *p)
 }
 
 static char*
-xfpumf(Ureg* ureg, void*)
+xfpumf(Ureg* ureg, void* v)
 {
 	Fxsave *fpusave;
 
@@ -420,7 +420,7 @@ acfpumf(Ureg *ureg, void *p)
 }
 
 static char*
-xfpunm(Ureg* ureg, void*)
+xfpunm(Ureg* ureg, void* v)
 {
 	Fxsave *fpusave;
 

+ 1 - 1
sys/src/9/k10/i8254.c

@@ -129,7 +129,7 @@ i8254hz(uint32_t info[2][4])
 	/*
 	 * Find biggest loop that doesn't wrap.
 	 */
-	SET(a, b);
+	SET(a); SET(b);
 	incr = 16000000/(aamcycles*Hz*2);
 	x = 2000;
 	for(loops = incr; loops < 64*1024; loops += incr) {

+ 2 - 2
sys/src/9/k10/ioapic.c

@@ -327,7 +327,7 @@ intrenablemsi(Vctl* v, Pcidev *p)
 }
 
 int
-disablemsi(Vctl*, Pcidev *p)
+disablemsi(Vctl* v, Pcidev *p)
 {
 	if(p == nil)
 		return -1;
@@ -387,7 +387,7 @@ ioapicintrenable(Vctl* v)
 			v->tbdf, busno, devno);
 	}
 	else{
-		SET(busno, devno);
+		SET(busno); SET(devno);
 		panic("unknown tbdf %#8.8ux\n", v->tbdf);
 	}
 

+ 1 - 1
sys/src/9/k10/k8cpu

@@ -76,7 +76,7 @@ rootdir
 	bootk8cpu.out boot
 	/amd64/bin/auth/factotum factotum
 	/amd64/bin/ip/ipconfig ipconfig
-	../root/nvram nvram
+#	../root/nvram nvram
 
 conf
 	int cpuserver = 1;

+ 1 - 1
sys/src/9/k10/k8cpunoasm

@@ -73,7 +73,7 @@ boot cpu
 	tcp
 
 rootdir
-#	bootk8cpu.out boot
+	bootk8cpu.out boot
 #	/amd64/bin/auth/factotum factotum
 #	/amd64/bin/ip/ipconfig ipconfig
 #	../root/nvram nvram

+ 1 - 1
sys/src/9/k10/main.c

@@ -555,7 +555,7 @@ shutdown(int ispanic)
 }
 
 void
-reboot(void*, void*, int32_t)
+reboot(void* v, void* w, int32_t i)
 {
 	panic("reboot\n");
 }

+ 59 - 0
sys/src/9/k10/makefile

@@ -0,0 +1,59 @@
+CC=gcc
+LD=gcc
+O=o
+AS=as
+objtype=amd64
+
+
+INC_DIR=/sys/include
+INCX86_64_DIR=/$(objtype)/include
+LIB_DIR=/$(objtype)/lib
+WARNFLAGS=-Wall' '-Wno-missing-braces' '-Wno-parentheses' '-Wno-unknown-pragmas' '-Wuninitialized' '-Wmaybe-uninitialized
+LDFLAGS=-L$(LIB_DIR)
+
+#OS=568qv
+OS=o
+#CPUS=arm amd64 386 power mips
+CPUS=amd64
+#CFLAGS=-FTVw
+CFLAGS=-O0 -static -fplan9-extensions -ffreestanding -fno-builtin -Wall -Wno-missing-braces -Wno-parentheses -Wno-unknown-pragmas -Wuninitialized -Wmaybe-uninitialized -I$(INCX86_64_DIR) -I$(INC_DIR) -I.
+LEX=lex
+YACC=yacc
+
+OBJECTS=$(SOURCES:.c=.o)
+
+all: 9k8cpu
+
+9k8cpu: mach dev port
+
+mach: acore.o arch.o archk10.o asm.o cga.o crap.o fpu.o i8254.o i8259.o ../386/kbd.o main.o map.o memory.o mmu.o multiboot.o qmalloc.o ../386/random.o syscall.o tcore.o trap.o vsvm.o physalloc.o
+
+dev: ../386/ether8169.o ../386/devrtc.o ../port/netif.o ../port/devssl.o ../ip/ip.o ../ip/ipv6.o ../386/pci.o ether82563.o ../ip/devip.o ../port/devuart.o ../port/ethermii.o ../386/etherigbe.o ../port/devproc.o ../port/devkprof.o ../ip/netlog.o ../ip/nullmedium.o ../386/ether82557.o ../ip/tcp.o ioapic.o ../port/devsrv.o ../ip/ipaux.o ../port/devpci.o ../port/devenv.o ../port/devdup.o ../port/devpipe.o ../ip/arp.o ../386/uartpci.o mp.o msi.o pmcio.o ../port/devsegment.o ../ip/icmp.o ../ip/icmp6.o ../ip/ptclbsum.o ../ip/ethermedium.o ../ip/ipifc.o ../386/devether.o ../386/uarti8250.o ../ip/iproute.o devarch.o ../ip/inferno.o ../port/devmnt.o devacpi.o ../ip/chandial.o ../ip/netdevmedium.o apic.o ../port/devcap.o ../port/devws.o ../ip/loopbackmedium.o ../port/devcons.o ../ip/pktmedium.o ../ip/udp.o ../port/devzp.o ../port/devroot.o ../port/devpmc.o
+
+port: ../port/tod.o ../port/sysauth.o ../port/pager.o ../port/edf.o ../port/latin1.o ../port/syszio.o ../port/segment.o ../port/allocb.o systab.o ../port/qio.o ../port/proc.o ../port/ps.o ../port/fault.o ../port/image.o ../port/page.o ../port/sysseg.o ../port/parse.o ../port/devtab.o ../port/syssem.o ../port/dev.o ../port/rebootcmd.o ../port/sysproc.o ../port/portclock.o ../port/chan.o ../port/syscallfmt.o ../port/pgrp.o ../port/qlock.o ../port/alarm.o ../port/print.o ../port/sysfile.o ../port/taslock.o
+
+#In dev must be sipi.o, but needs sipi.h generated by dumping l64sipi.out binary from l64sipi.s not available for now
+
+.c.o:
+	$(CC) $(CFLAGS) -c $< -o $@
+
+main.o: init.h
+
+init.h: init.out
+	./dumpinith.sh
+
+init.out: init9.o ../port/initcode.o /$(objtype)/lib/libc.a
+#	$(CC) $(CFLAGS) -o init.out init9.o ../port/initcode.o -L/$(objtype)/lib/libc.a
+	/usr/lib/gcc/x86_64-linux-gnu/4.9/collect2  -plugin /usr/lib/gcc/x86_64-linux-gnu/4.9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/4.9/lto-wrapper --sysroot=/ --build-id -m elf_x86_64 --hash-style=gnu -static -o init.out init9.o ../port/initcode.o -L/$(objtype)/lib -lc
+
+systab.o:
+	awk -f ../mk/parse -- -mksystab /sys/src/libc/9syscall/sys.h k8cpu > systab.c
+	$(CC) $(CFLAGS) -c systab.c
+errstr.h:
+	awk -f ../mk/parse -- -mkerrstr k8cpu > errstr.h
+proc.o: errstr.h
+	$(CC) $(CFLAGS) -c ../port/proc.c
+
+clean:
+	rm *.o init.h ../386/*.o ../port/*.o ../ip/*.o systab.c errstr.h
+

+ 6 - 11
sys/src/9/k10/mkfile

@@ -1,7 +1,6 @@
 CONF=k8cpu
 CONFLIST=k8cpu
 objtype=amd64
-PORT=../port
 
 # override with the list of paths where to put extra
 # copies of the kernel. for each word $w in OTHERCOPIES,
@@ -11,18 +10,16 @@ OTHERCOPIES=''
 </$objtype/mkfile
 p=9
 
-
 9k:V:	$p$CONF
 
 <| awk -f ../mk/parse $CONF
 <../mk/bootmkfile
 <../mk/portmkfile
 
-#OBJ=$MACH $CONF.root.$O $DEVS $PORT
-OBJ=$MACH $DEVS $PORT
+OBJ=$MACH $CONF.root.$O $DEVS $PORT
 
 $p$CONF:	$CONF.c $OBJ $LIB
-	$CC $CFLAGS '-DKERNDATE='`{date -n} $CONF.c
+	$CC $CFLAGS '-DKERNDATE='`{date -n} -c $CONF.c
 	$LD -o $target -T0xfffffffff0110000 -R4096 -l $OBJ $CONF.$O $LIB
 	$LD -o $target.elf -H5 -8 -T0xfffffffff0110000 -l $OBJ $CONF.$O $LIB
 	size $target
@@ -40,10 +37,8 @@ install:QV:	$p$CONF $p$CONF.gz
 	}
 	echo done
 
-init.out:
-	$CC $CFLAGS -o initcode.$O -c ../port/initcode.c
-	$CC $CFLAGS -o init9.$O -c init9.c
-	$CC $CFLAGS -o init.out init9.$O initcode.$O /$objtype/lib/libc.a
+init.out:	init9.$O initcode.$O /$objtype/lib/libc.a
+	$CC $CFLAGS -o init.out init9.$O initcode.$O -L/$objtype/lib/libc.a
 	#$LD -l -R1 -s -o init.out init9.$O initcode.$O -lc
 
 l32p.$O:	${objtype}l.h
@@ -76,7 +71,7 @@ trap.$O:	../port/error.h io.h
 trap.$O:	/sys/include/tos.h /$objtype/include/ureg.h
 
 devaoe.$O:	../port/error.h ../port/netif.h ../ip/ip.h
-devaoe.$O:	../386/aoe.h etherif.h
+devaoe.$O:	../port/aoe.h etherif.h
 devether.$O:	../port/error.h ../port/netif.h etherif.h
 devrtc.$O:	../port/error.h
 ether8169.$O:	../port/error.h ../port/ethermii.h ../port/netif.h
@@ -92,7 +87,7 @@ i8259.$O:	io.h
 kbd.$O:		../port/error.h io.h
 pci.$O:		io.h
 sdaoe.$O:	../port/error.h ../port/netif.h ../port/sd.h
-sdaoe.$O:	../386/aoe.h etherif.h io.h
+sdaoe.$O:	../port/aoe.h etherif.h io.h
 sdscsi.$O:	../port/error.h
 
 random.$O:	../port/error.h

+ 1 - 1
sys/src/9/k10/mmu.c

@@ -29,7 +29,7 @@
 #define PPN(x)		((x)&~(PGSZ-1))
 
 void
-mmuflushtlb(u64int)
+mmuflushtlb(uint64_t u)
 {
 
 	m->tlbpurge++;

+ 2 - 2
sys/src/9/k10/qmalloc.c

@@ -443,7 +443,7 @@ mallocreadfmt(char* s, char* e)
 }
 
 int32_t
-mallocreadsummary(Chan*, void *a, int32_t n, int32_t offset)
+mallocreadsummary(Chan* c, void *a, int32_t n, int32_t offset)
 {
 	char *alloc;
 
@@ -639,7 +639,7 @@ realloc(void* ap, uint32_t size)
 }
 
 void
-setmalloctag(void*, uint32_t)
+setmalloctag(void* v, uint32_t i)
 {
 }
 

+ 1 - 0
sys/src/9/k10/root/mkfile

@@ -1,3 +1,4 @@
+MKSHELL=$PLAN9/bin/rc
 objtype=amd64
 </$objtype/mkfile
 

+ 9 - 9
sys/src/9/k10/trap.c

@@ -120,7 +120,7 @@ intrdisable(void* vector)
 }
 
 static int32_t
-irqallocread(Chan*, void *vbuf, int32_t n, int64_t offset)
+irqallocread(Chan* c, void *vbuf, int32_t n, int64_t offset)
 {
 	char *buf, *p, str[2*(11+1)+2*(20+1)+(KNAMELEN+1)+(8+1)+1];
 	int m, vno;
@@ -274,7 +274,7 @@ intrtime(int vno)
 }
 
 static void
-pmcnop(Mach *)
+pmcnop(Mach *m)
 {
 }
 
@@ -282,7 +282,7 @@ void (*_pmcupdate)(Mach *m) = pmcnop;
 
 /* go to user space */
 void
-kexit(Ureg*)
+kexit(Ureg* u)
 {
  	uint64_t t;
 	Tos *tos;
@@ -529,7 +529,7 @@ dumpstackwithureg(Ureg* ureg)
 {
 	char *s;
 	uintptr_t l, v, i, estack;
-	extern uint32_t etext;
+//	extern char etext;
 	int x;
 
 	if((s = getconf("*nodumpstack")) != nil && atoi(s) != 0){
@@ -579,7 +579,7 @@ dumpstack(void)
 }
 
 static void
-debugbpt(Ureg* ureg, void*)
+debugbpt(Ureg* ureg, void* v)
 {
 	char buf[ERRMAX];
 
@@ -592,24 +592,24 @@ debugbpt(Ureg* ureg, void*)
 }
 
 static void
-doublefault(Ureg*, void*)
+doublefault(Ureg* ureg, void* v)
 {
 	panic("double fault");
 }
 
 static void
-unexpected(Ureg* ureg, void*)
+unexpected(Ureg* ureg, void* v)
 {
 	iprint("unexpected trap %llud; ignoring\n", ureg->type);
 }
 
 static void
-expected(Ureg*, void*)
+expected(Ureg* ureg, void* v)
 {
 }
 
 static void
-faultamd64(Ureg* ureg, void*)
+faultamd64(Ureg* ureg, void* v)
 {
 	uint64_t addr;
 	int read, user, insyscall;

+ 4 - 4
sys/src/9/mk/bootmkfile

@@ -1,6 +1,6 @@
 MKSHELL=$PLAN9/bin/rc
 BOOTDIR=../boot
-BOOTLIB=$BOOTDIR/libboot.a$O
+BOOTLIB=$BOOTDIR/libboot.a
 
 BOOTFILES=\
 	bootauth.$O\
@@ -25,10 +25,10 @@ $BOOTLIB:	${BOOTFILES:%=$BOOTLIB(%)}
 $BOOTFILES:	$BOOTDIR/boot.h
 
 %.$O:	$BOOTDIR/%.c
-	$CC -I$BOOTDIR $CFLAGS $BOOTDIR/$stem.c
+	$CC $CFLAGS -I$BOOTDIR -c $BOOTDIR/$stem.c
 
 boot$CONF.out: ../mk/parse $CONF print.$O $BOOTDIR/boot.c $BOOTLIB
 	awk -f ../mk/parse -- -mkbootconf $CONF > boot$CONF.c
-	$CC $CFLAGS boot$CONF.c
-	$CC $CFLAGS ../boot/printstub.c
+	$CC $CFLAGS -c boot$CONF.c
+	$CC $CFLAGS -c ../boot/printstub.c
 	$LD -o boot$CONF.out boot$CONF.$O $BOOTLIB printstub.$O

+ 1 - 1
sys/src/9/mk/mkroot

@@ -11,5 +11,5 @@ cp $1 $2.out
 t=`{file $2.out}
 if(~ $"t *executable*)
 	strip $2.out
-aux/data2s $2 < $2.out > $2.root.s
+	data2c $2 < $2.out > $2.root.c
 echo mkroot $* done

+ 2 - 2
sys/src/9/mk/mkrootall

@@ -25,7 +25,7 @@ while(! ~ $#* 0){
 	t=`{file $tmp}
 	# do not strip venti - it uses its own symbols
 	if(~ $"t *executable* && ! ~ $name venti)
-		strip $tmp
-	aux/data2s $cname < $tmp
+#		strip $tmp
+		data2c $cname < $tmp
 }
 exit 0

+ 17 - 16
sys/src/9/mk/parse

@@ -1,4 +1,3 @@
-MKSHELL=$PLAN9/bin/rc
 BEGIN{
 	oargc = 0;
 	for(argc = 1; argc < ARGC; argc++){
@@ -11,7 +10,8 @@ BEGIN{
 		ARGV[argc] = "";
 	}
 
-	objtype = ENVIRON["objtype"];
+#	objtype = ENVIRON["objtype"];
+	objtype = "amd64";
 
 	while(getline > 0){
 		if(/^[ \t]*$/ || /^#/)
@@ -80,18 +80,18 @@ BEGIN{
 			l = listolate(a, "|");
 			if(l != ""){
 				o = o "^(" l ")\\.$O:R:	" dir "/\\1.s\n";
-				o = o "\t$AS $AFLAGS " s " " dir "/$stem1.s\n";
+				o = o "\t$AS $AFLAGS -o /$stem1.o " s " -c " dir "/$stem1.s\n";
 			}
 			l = listolate(c, "|");
 			if(l != ""){
 				o = o "^(" l ")\\.$O:R:	" dir "/\\1.c\n";
-				o = o "\t$CC $CFLAGS " s " " dir "/$stem1.c\n";
+				o = o "\t$CC $CFLAGS " s " -c " dir "/$stem1.c\n";
 			}
 		}
 	}
 	if((!oargc || ("-mkrootrules" in oargv)) && ("rootdir" in section)){
 		mkrootrules(name, cname, src);
-		s = ARGV[argc] ".root.s:D:";
+		s = ARGV[argc] ".root.c:D:";
 		for(i = 1; i < section["rootdir"]; i++)
 			s = s " " src[i];
 		s = s "\n\t../mk/mkrootall\\\n";
@@ -295,7 +295,7 @@ function mkdevc(		a, d, i, m, n, s, t, u, name, cname){
 	mkrootrules(name, cname, m);
 	t = "";
 	for(i = 1; i < section["rootdir"]; i++){
-		s = s "extern uchar " cname[i] "code[];\n";
+		s = s "extern unsigned char " cname[i] "code[];\n";
 		s = s "extern usize " cname[i] "len;\n";
 		t = t "\taddbootfile(\"" name[i] "\", " cname[i] "code, " cname[i] "len);\n";
 	}
@@ -390,21 +390,21 @@ function mkdevc(		a, d, i, m, n, s, t, u, name, cname){
 	if("cache" in m){
 		s = s "extern void cinit(void);\n";
 		s = s "extern void copen(Chan*);\n";
-		s = s "extern int cread(Chan*, uchar*, int, vlong);\n";
-		s = s "extern void cupdate(Chan*, uchar*, int, vlong);\n";
-		s = s "extern void cwrite(Chan*, uchar*, int, vlong);\n\n";
+		s = s "extern int cread(Chan*, unsigned char*, int, int64_t);\n";
+		s = s "extern void cupdate(Chan*, unsigned char*, int, int64_t);\n";
+		s = s "extern void cwrite(Chan*, unsigned char*, int, int64_t);\n\n";
 		s = s "void (*mfcinit)(void) = cinit;\n";
 		s = s "void (*mfcopen)(Chan*) = copen;\n";
-		s = s "int (*mfcread)(Chan*, uchar*, int, vlong) = cread;\n";
-		s = s "void (*mfcupdate)(Chan*, uchar*, int, vlong) = cupdate;\n";
-		s = s "void (*mfcwrite)(Chan*, uchar*, int, vlong) = cwrite;\n\n";
+		s = s "int (*mfcread)(Chan*, unsigned char*, int, int64_t) = cread;\n";
+		s = s "void (*mfcupdate)(Chan*, unsigned char*, int, int64_t) = cupdate;\n";
+		s = s "void (*mfcwrite)(Chan*, unsigned char*, int, int64_t) = cwrite;\n\n";
 	}
 	else{
 		s = s "void (*mfcinit)(void) = nil;\n";
 		s = s "void (*mfcopen)(Chan*) = nil;\n";
-		s = s "int (*mfcread)(Chan*, uchar*, int, vlong) = nil;\n";
-		s = s "void (*mfcupdate)(Chan*, uchar*, int, vlong) = nil;\n";
-		s = s "void (*mfcwrite)(Chan*, uchar*, int, vlong) = nil;\n\n";
+		s = s "int (*mfcread)(Chan*, unsigned char*, int, int64_t) = nil;\n";
+		s = s "void (*mfcupdate)(Chan*, unsigned char*, int, int64_t) = nil;\n";
+		s = s "void (*mfcwrite)(Chan*, unsigned char*, int, int64_t) = nil;\n\n";
 	}
 	if(!("rdb" in misc)){
 		s = s "void\n";
@@ -472,7 +472,7 @@ function mkrules(dir, exists, ameta, cmeta, flags,		f, i, s, t){
 		delete cmeta[i];
 
 	s = "";
-	while("cd " dir "; /bin/ls *.[cs]" | getline > 0){
+	while("cd " dir "; ls *.[cs]" | getline > 0){
 		if($0 !~ /^[A-Za-z0-9]*\.[cs]$/)
 			continue;
 		f = $0;
@@ -497,6 +497,7 @@ function mkrules(dir, exists, ameta, cmeta, flags,		f, i, s, t){
 		}
 		s = s $0 ".$O:\t" dir "/" f "\n";
 #		s = s "\t" t " -D'_DBGC_='" dbgc[$0] "'' " dir "/" f "\n";
+		s = s "\t" t " -c " dir "/" f "\n";
 	}
 	return s;
 }

+ 5 - 4
sys/src/9/mk/portmkfile

@@ -1,4 +1,5 @@
 MKSHELL=$PLAN9/bin/rc
+
 %.$O:	%.s
 	$AS $AFLAGS -o $stem.o -c $stem.s
 
@@ -83,18 +84,18 @@ taslock.$O:	../port/edf.h
 	awk -f ../mk/parse -- -mksystab /sys/src/libc/9syscall/sys.h $CONF > $target
 
 systab.$O:	../port/systab.c
-	$CC $CFLAGS -I. ../port/systab.c
+	$CC $CFLAGS -I. -c ../port/systab.c
 
 errstr.h:	../mk/parse ../port/error.h
 	awk -f ../mk/parse -- -mkerrstr > $target
 
 init.h:		init.out
-	{echo 'uchar initcode[]={'
+	{echo 'unsigned char initcode[]={'
 	 xd -1x $prereq | sed -e 's/^[0-9a-f]+ //' -e 's/ ([0-9a-f][0-9a-f])/0x\1,/g'
 	 echo '};'} > init.h
 
 $CONF.$O:	$CONF.c
-	$CC $CFLAGS '-DKERNDATE='`{date -n} $CONF.c
+	$CC $CFLAGS '-DKERNDATE='`{date -n} -c $CONF.c
 
 $CONF.c:	../mk/parse $CONF
 	awk -f ../mk/parse -- -mkdevc $CONF > $CONF.c
@@ -124,6 +125,6 @@ clean:V:
 	if(test -d ./root) @{cd ./root; mk clean}; status=''	
 
 nuke:V:	clean
-	rm -f ../boot/libboot.a$O *.elf *.rr
+	rm -f ../boot/libboot.a *.elf *.rr
 	@{cd ../root; mk clean nuke}
 	if(test -d ./root) @{cd ./root; mk clean nuke}; status=''

+ 1 - 1
sys/src/9/port/alarm.c

@@ -17,7 +17,7 @@ static Alarms	alarms;
 static Rendez	alarmr;
 
 void
-alarmkproc(void*)
+alarmkproc(void* v)
 {
 	Proc *rp;
 	uint32_t now;

+ 2 - 2
sys/src/9/port/chan.c

@@ -442,13 +442,13 @@ ccloseq(Chan *c)
 }
 
 static int
-clunkwork(void*)
+clunkwork(void* v)
 {
 	return clunkq.head != nil;
 }
 
 static void
-closeproc(void*)
+closeproc(void* v)
 {
 	Chan *c;
 

+ 5 - 5
sys/src/9/port/dev.c

@@ -410,7 +410,7 @@ Return:
 }
 
 void
-devcreate(Chan*, char*, int, int)
+devcreate(Chan* c, char* d, int i, int n)
 {
 	error(Eperm);
 }
@@ -449,26 +449,26 @@ devbwrite(Chan *c, Block *bp, int64_t offset)
 }
 
 void
-devremove(Chan*)
+devremove(Chan* c)
 {
 	error(Eperm);
 }
 
 int32_t
-devwstat(Chan*, uint8_t*, int32_t)
+devwstat(Chan* c, uint8_t* i, int32_t n)
 {
 	error(Eperm);
 	return 0;
 }
 
 void
-devpower(int)
+devpower(int i)
 {
 	error(Eperm);
 }
 
 int
-devconfig(int, char *, DevConf *)
+devconfig(int i, char *c, DevConf *d)
 {
 	error(Eperm);
 	return 0;

+ 3 - 3
sys/src/9/port/devcap.c

@@ -184,12 +184,12 @@ addcap(uint8_t *hash)
 }
 
 static void
-capclose(Chan*)
+capclose(Chan* c)
 {
 }
 
 static int32_t
-capread(Chan *c, void *va, int32_t n, int64_t)
+capread(Chan *c, void *va, int32_t n, int64_t m)
 {
 	switch((uint32_t)c->qid.path){
 	case Qdir:
@@ -203,7 +203,7 @@ capread(Chan *c, void *va, int32_t n, int64_t)
 }
 
 static int32_t
-capwrite(Chan *c, void *va, int32_t n, int64_t)
+capwrite(Chan *c, void *va, int32_t n, int64_t m)
 {
 	Caphash *p;
 	char *cp;

+ 2 - 2
sys/src/9/port/devcons.c

@@ -580,7 +580,7 @@ echo(char *buf, int n)
  *  turn '\r' into '\n' before putting it into the queue.
  */
 int
-kbdcr2nl(Queue*, int ch)
+kbdcr2nl(Queue* q, int ch)
 {
 	char *next;
 
@@ -603,7 +603,7 @@ kbdcr2nl(Queue*, int ch)
  *  Called at interrupt time to process a character.
  */
 int
-kbdputc(Queue*, int ch)
+kbdputc(Queue* q, int ch)
 {
 	int i, n;
 	char buf[3];

+ 3 - 3
sys/src/9/port/devdup.c

@@ -17,7 +17,7 @@
 /* Qid is (2*fd + (file is ctl))+1 */
 
 static int
-dupgen(Chan *c, char *, Dirtab*, int, int s, Dir *dp)
+dupgen(Chan *c, char *d, Dirtab* dir, int m, int s, Dir *dp)
 {
 	Fgrp *fgrp = up->fgrp;
 	Chan *f;
@@ -101,7 +101,7 @@ dupopen(Chan *c, int omode)
 }
 
 static void
-dupclose(Chan*)
+dupclose(Chan* c)
 {
 }
 
@@ -126,7 +126,7 @@ dupread(Chan *c, void *va, int32_t n, int64_t off)
 }
 
 static int32_t
-dupwrite(Chan*, void*, int32_t, int64_t)
+dupwrite(Chan* c, void* v, int32_t i, int64_t n)
 {
 	error(Eperm);
 	return 0;		/* not reached */

+ 2 - 2
sys/src/9/port/devenv.c

@@ -39,7 +39,7 @@ envlookup(Egrp *eg, char *name, uint32_t qidpath)
 }
 
 static int
-envgen(Chan *c, char *name, Dirtab*, int, int s, Dir *dp)
+envgen(Chan *c, char *name, Dirtab* dir, int i, int s, Dir *dp)
 {
 	Egrp *eg;
 	Evalue *e;
@@ -147,7 +147,7 @@ envopen(Chan *c, int omode)
 }
 
 static void
-envcreate(Chan *c, char *name, int omode, int)
+envcreate(Chan *c, char *name, int omode, int i)
 {
 	Egrp *eg;
 	Evalue *e;

+ 2 - 2
sys/src/9/port/devkprof.c

@@ -121,7 +121,7 @@ kprofopen(Chan *c, int omode)
 }
 
 static void
-kprofclose(Chan*)
+kprofclose(Chan* c)
 {
 }
 
@@ -168,7 +168,7 @@ kprofread(Chan *c, void *va, int32_t n, int64_t off)
 }
 
 static int32_t
-kprofwrite(Chan *c, void *a, int32_t n, int64_t)
+kprofwrite(Chan *c, void *a, int32_t n, int64_t m)
 {
 	switch((int)(c->qid.path)){
 	case Kprofctlqid:

+ 2 - 2
sys/src/9/port/devpci.c

@@ -55,7 +55,7 @@ pcidirgen(Chan *c, int t, int tbdf, Dir *dp)
 }
 
 static int
-pcigen(Chan *c, char *, Dirtab*, int, int s, Dir *dp)
+pcigen(Chan *c, char *d, Dirtab* dir, int i, int s, Dir *dp)
 {
 	int tbdf;
 	Pcidev *p;
@@ -128,7 +128,7 @@ pciopen(Chan *c, int omode)
 }
 
 static void
-pciclose(Chan*)
+pciclose(Chan* c)
 {
 }
 

+ 4 - 4
sys/src/9/port/devpipe.c

@@ -100,7 +100,7 @@ pipeattach(char *spec)
 }
 
 static int
-pipegen(Chan *c, char*, Dirtab *tab, int ntab, int i, Dir *dp)
+pipegen(Chan *c, char* d, Dirtab *tab, int ntab, int i, Dir *dp)
 {
 	Qid q;
 	int len;
@@ -276,7 +276,7 @@ pipeclose(Chan *c)
 }
 
 static int32_t
-piperead(Chan *c, void *va, int32_t n, int64_t)
+piperead(Chan *c, void *va, int32_t n, int64_t m)
 {
 	Pipe *p;
 
@@ -317,7 +317,7 @@ pipebread(Chan *c, int32_t n, int64_t offset)
  *  the process.
  */
 static int32_t
-pipewrite(Chan *c, void *va, int32_t n, int64_t)
+pipewrite(Chan *c, void *va, int32_t n, int64_t m)
 {
 	Pipe *p;
 
@@ -350,7 +350,7 @@ pipewrite(Chan *c, void *va, int32_t n, int64_t)
 }
 
 static int32_t
-pipebwrite(Chan *c, Block *bp, int64_t)
+pipebwrite(Chan *c, Block *bp, int64_t m)
 {
 	int32_t n;
 	Pipe *p;

+ 4 - 4
sys/src/9/port/devpmc.c

@@ -141,7 +141,7 @@ pmcattach(char *spec)
 	return devattach(L'ε', spec);
 }
 int
-pmcgen(Chan *c, char *name, Dirtab*, int, int s, Dir *dp)
+pmcgen(Chan *c, char *name, Dirtab* dir, int j, int s, Dir *dp)
 {
 	int t, i, n;
 	Dirtab *l, *d;
@@ -207,7 +207,7 @@ pmcopen(Chan *c, int omode)
 }
 
 static void
-pmcclose(Chan *)
+pmcclose(Chan *c)
 {
 }
 
@@ -238,7 +238,7 @@ pmcread(Chan *c, void *a, int32_t n, int64_t offset)
 		nexterror();
 	}
 	coreno = (uint64_t)c->aux;
-	p.coreno = coreno;
+	p._coreno = coreno;
 	switch(type){
 	case Qdata:
 		v = pmcgetctr(coreno, id);
@@ -330,7 +330,7 @@ acpmcsetctr(void)
 
 
 static int32_t
-pmcwrite(Chan *c, void *a, int32_t n, int64_t)
+pmcwrite(Chan *c, void *a, int32_t n, int64_t m)
 {
 	Cmdbuf *cb;
 	Cmdtab *ct;

+ 4 - 4
sys/src/9/port/devproc.c

@@ -183,7 +183,7 @@ static void notrace(Proc*, int, int64_t);
 void (*proctrace)(Proc*, int, int64_t) = notrace;
 
 static void
-profclock(Ureg *ur, Timer *)
+profclock(Ureg *ur, Timer *ti)
 {
 	Tos *tos;
 
@@ -199,7 +199,7 @@ profclock(Ureg *ur, Timer *)
 }
 
 static int
-procgen(Chan *c, char *name, Dirtab *tab, int, int s, Dir *dp)
+procgen(Chan *c, char *name, Dirtab *tab, int j, int s, Dir *dp)
 {
 	Qid qid;
 	Proc *p;
@@ -303,7 +303,7 @@ procgen(Chan *c, char *name, Dirtab *tab, int, int s, Dir *dp)
 }
 
 static void
-notrace(Proc*, Tevent, int64_t)
+notrace(Proc* p, int n, int64_t m)
 {
 }
 static Lock tlck;
@@ -751,7 +751,7 @@ procargs(Proc *p, char *buf, int nbuf)
 }
 
 static int
-eventsavailable(void *)
+eventsavailable(void *v)
 {
 	return tproduced > tconsumed;
 }

+ 3 - 3
sys/src/9/port/devroot.c

@@ -123,7 +123,7 @@ rootattach(char *spec)
 }
 
 static int
-rootgen(Chan *c, char *name, Dirtab*, int, int s, Dir *dp)
+rootgen(Chan *c, char *name, Dirtab* dir, int j, int s, Dir *dp)
 {
 	int t;
 	Dirtab *d;
@@ -193,7 +193,7 @@ rootopen(Chan *c, int omode)
  * sysremove() knows this is a nop
  */
 static void
-rootclose(Chan*)
+rootclose(Chan* c)
 {
 }
 
@@ -235,7 +235,7 @@ rootread(Chan *c, void *buf, int32_t n, int64_t off)
 }
 
 static int32_t
-rootwrite(Chan*, void*, int32_t, int64_t)
+rootwrite(Chan* c, void* v, int32_t n, int64_t m)
 {
 	error(Egreg);
 	return 0;

+ 1 - 1
sys/src/9/port/devsegment.c

@@ -115,7 +115,7 @@ putgseg(Globalseg *g)
 }
 
 static int
-segmentgen(Chan *c, char*, Dirtab*, int, int s, Dir *dp)
+segmentgen(Chan *c, char* d, Dirtab* dir, int i, int s, Dir *dp)
 {
 	Qid q;
 	Globalseg *g;

+ 3 - 3
sys/src/9/port/devsrv.c

@@ -31,7 +31,7 @@ static Srv	*srv;
 static int	qidpath;
 
 static int
-srvgen(Chan *c, char*, Dirtab*, int, int s, Dir *dp)
+srvgen(Chan *c, char* d, Dirtab* dir, int i, int s, Dir *dp)
 {
 	Srv *sp;
 	Qid q;
@@ -300,14 +300,14 @@ srvclose(Chan *c)
 }
 
 static int32_t
-srvread(Chan *c, void *va, int32_t n, int64_t)
+srvread(Chan *c, void *va, int32_t n, int64_t m)
 {
 	isdir(c);
 	return devdirread(c, va, n, 0, 0, srvgen);
 }
 
 static int32_t
-srvwrite(Chan *c, void *va, int32_t n, int64_t)
+srvwrite(Chan *c, void *va, int32_t n, int64_t m)
 {
 	Srv *sp;
 	Chan *c1;

+ 4 - 4
sys/src/9/port/devssl.c

@@ -133,7 +133,7 @@ char *sslnames[] = {
 };
 
 static int
-sslgen(Chan *c, char*, Dirtab *d, int nd, int s, Dir *dp)
+sslgen(Chan *c, char* j, Dirtab *d, int nd, int s, Dir *dp)
 {
 	Qid q;
 	Dstate *ds;
@@ -553,7 +553,7 @@ qtake(Block **l, int n, int discard)
  *  consumed before the last ensure.
  */
 static Block*
-sslbread(Chan *c, int32_t n, int64_t)
+sslbread(Chan *c, int32_t n, int64_t m)
 {
 	Dstate * volatile s;
 	Block *b;
@@ -725,7 +725,7 @@ randfill(uint8_t *buf, int len)
 }
 
 static int32_t
-sslbwrite(Chan *c, Block *b, int64_t)
+sslbwrite(Chan *c, Block *b, int64_t m)
 {
 	Dstate * volatile s;
 	int32_t rv;
@@ -1051,7 +1051,7 @@ parseencryptalg(char *p, Dstate *s)
 }
 
 static int32_t
-sslwrite(Chan *c, void *a, int32_t n, int64_t)
+sslwrite(Chan *c, void *a, int32_t n, int64_t m)
 {
 	Dstate * volatile s;
 	Block * volatile b;

+ 1 - 1
sys/src/9/port/devtab.c

@@ -69,7 +69,7 @@ devtabget(int dc, int user)
 }
 
 int32_t
-devtabread(Chan*, void* buf, int32_t n, int64_t off)
+devtabread(Chan* c, void* buf, int32_t n, int64_t off)
 {
 	int i;
 	Dev *dev;

+ 1 - 1
sys/src/9/port/devuart.c

@@ -504,7 +504,7 @@ uartctl(Uart *p, char *cmd)
 }
 
 static int32_t
-uartwrite(Chan *c, void *buf, int32_t n, int64_t)
+uartwrite(Chan *c, void *buf, int32_t n, int64_t m)
 {
 	Uart *p;
 	char *cmd;

+ 1 - 1
sys/src/9/port/devws.c

@@ -129,7 +129,7 @@ wsread(Chan *c, void *va, int32_t n, int64_t off)
 }
 
 static int32_t
-wswrite(Chan *c, void *a, int32_t n, int64_t)
+wswrite(Chan *c, void *a, int32_t n, int64_t m)
 {
 	char *buf;
 

+ 4 - 4
sys/src/9/port/devzp.c

@@ -282,7 +282,7 @@ zpattach(char *spec)
 }
 
 static int
-zpgen(Chan *c, char*, Dirtab *tab, int ntab, int i, Dir *dp)
+zpgen(Chan *c, char* d, Dirtab *tab, int ntab, int i, Dir *dp)
 {
 	Qid q;
 	int len;
@@ -455,7 +455,7 @@ zpclose(Chan *c)
 }
 
 static int32_t
-zpread(Chan *c, void *va, int32_t n, int64_t)
+zpread(Chan *c, void *va, int32_t n, int64_t  m)
 {
 	ZPipe *p;
 	Kzio io[32];	/* might read less than we could */
@@ -506,7 +506,7 @@ zpzread(Chan *c, Kzio io[], int nio, usize n, int64_t offset)
  *  be copying it again, probably.
  */
 static int32_t
-zpwrite(Chan *c, void *va, int32_t n, int64_t)
+zpwrite(Chan *c, void *va, int32_t n, int64_t m)
 {
 	ZPipe *p;
 	Kzio io;	/* might write less than we could */
@@ -554,7 +554,7 @@ zpwrite(Chan *c, void *va, int32_t n, int64_t)
 }
 
 static int
-zpzwrite(Chan *c, Kzio io[], int nio, int64_t)
+zpzwrite(Chan *c, Kzio io[], int nio, int64_t m)
 {
 	ZPipe *p;
 

+ 8 - 8
sys/src/9/port/edf.c

@@ -99,11 +99,11 @@ edflock(Proc *p)
 		return nil;
 	ilock(&thelock);
 	if((e = p->edf) && (e->flags & Admitted)){
-		thelock.pc = getcallerpc(&p);
+		thelock._pc = getcallerpc(&p);
 #ifdef EDFCYCLES
 		edfcycles -= lcycles();
 #endif
-		now = µs();
+		now = ms();
 		return e;
 	}
 	iunlock(&thelock);
@@ -128,7 +128,7 @@ edfinit(Proc*p)
 		fmtinstall('t', timeconv);
 		edfinited++;
 	}
-	now = µs();
+	now = ms();
 	DPRINT("%lud edfinit %d[%s]\n", now, p->pid, statename[p->state]);
 	p->edf = malloc(sizeof(Edf));
 	if(p->edf == nil)
@@ -137,7 +137,7 @@ edfinit(Proc*p)
 }
 
 static void
-deadlineintr(Ureg*, Timer *t)
+deadlineintr(Ureg* ureg, Timer *t)
 {
 	/* Proc reached deadline */
 	extern int panicking;
@@ -148,7 +148,7 @@ deadlineintr(Ureg*, Timer *t)
 		return;
 
 	p = t->ta;
-	now = µs();
+	now = ms();
 	DPRINT("%lud deadlineintr %d[%s]\n", now, p->pid, statename[p->state]);
 	/* If we're interrupting something other than the proc pointed to by t->a,
 	 * we've already achieved recheduling, so we need not do anything
@@ -213,7 +213,7 @@ release(Proc *p)
 }
 
 static void
-releaseintr(Ureg*, Timer *t)
+releaseintr(Ureg* ureg, Timer *t)
 {
 	Proc *p;
 	extern int panicking;
@@ -458,9 +458,9 @@ edfstop(Proc *p)
 }
 
 static int
-yfn(void *)
+yfn(void *v)
 {
-	now = µs();
+	now = ms();
 	return up->trend == nil || now - up->edf->r >= 0;
 }
 

+ 1 - 1
sys/src/9/port/ethermii.h

@@ -117,7 +117,7 @@ typedef struct MiiPhy {
 	int	fd;
 	int	rfc;
 	int	tfc;
-};
+} MiiPhy;
 
 extern int miiane(Mii*, int, int, int);
 extern Mii* miiattach(void*, int, int (*)(Mii*, int, int, int, int));

+ 11 - 0
sys/src/9/port/lib.h

@@ -293,3 +293,14 @@ struct Zio
 extern	char	etext[];
 extern	char	edata[];
 extern	char	end[];
+
+/* compiler directives on plan 9 */
+#define SET(x)  ((x)=0)
+#define USED(x) if(x){}else{}
+#ifdef __GNUC__
+#       if __GNUC__ >= 3
+#               undef USED
+#               define USED(x) ((void)(x))
+#       endif
+#endif
+

+ 3 - 3
sys/src/9/port/netif.c

@@ -42,7 +42,7 @@ netifinit(Netif *nif, char *name, int nfile, uint32_t limit)
  *  generate a 3 level directory
  */
 static int
-netifgen(Chan *c, char*, Dirtab *vp, int, int i, Dir *dp)
+netifgen(Chan *c, char* j, Dirtab *vp, int n, int i, Dir *dp)
 {
 	Qid q;
 	Netif *nif = (Netif*)vp;
@@ -355,7 +355,7 @@ netifwrite(Netif *nif, Chan *c, void *a, int32_t n)
 			if(nif->scanbs != nil)
 				nif->scanbs(nif->arg, type);
 			f->scan = type;
-			nif->scan++;
+			nif->_scan++;
 		}
 	} else if((p = matchtoken(buf, "mtu")) != 0){
 		/* poor planning. */
@@ -455,7 +455,7 @@ netifclose(Netif *nif, Chan *c)
 		}
 		if(f->scan){
 			qlock(nif);
-			if(--(nif->scan) == 0 && nif->scanbs != nil)
+			if(--(nif->_scan) == 0 && nif->scanbs != nil)
 				nif->scanbs(nif->arg, 0);
 			qunlock(nif);
 			f->prom = 0;

+ 1 - 1
sys/src/9/port/netif.h

@@ -94,7 +94,7 @@ struct Netif
 	int	nmaddr;			/* number of known multicast addresses */
 	Netaddr *mhash[Nmhash];		/* hash table of multicast addresses */
 	int	prom;			/* number of promiscuous opens */
-	int	scan;			/* number of base station scanners */
+	int	_scan;			/* number of base station scanners */
 	int	all;			/* number of -1 multiplexors */
 
 	Queue*	oq;			/* output */

+ 2 - 2
sys/src/9/port/pager.c

@@ -39,13 +39,13 @@ swapinit(void)
 }
 
 void
-putswap(Page*)
+putswap(Page* p)
 {
 	panic("putswap");
 }
 
 void
-dupswap(Page*)
+dupswap(Page* p)
 {
 	panic("dupswap");
 }

+ 1 - 1
sys/src/9/port/portclock.c

@@ -190,7 +190,7 @@ hzclock(Ureg *ur)
 }
 
 void
-timerintr(Ureg *u, int64_t)
+timerintr(Ureg *u, int64_t j)
 {
 	Timer *t;
 	Timers *tt;

+ 5 - 5
sys/src/9/port/portdat.h

@@ -967,11 +967,11 @@ extern	Procalloc	procalloc;
 extern	uint	qiomaxatomic;
 extern	char*	statename[];
 extern	char*	sysname;
-extern struct {
-	char*	n;
-	void (*f)(Ar0*, va_list);
-	Ar0	r;
-} systab[];
+//extern struct {
+//	char*	n;
+//	void (*f)(Ar0*, va_list);
+//	Ar0	r;
+//} systab[];
 
 enum
 {

+ 1 - 1
sys/src/9/port/print.c

@@ -28,7 +28,7 @@ _fmtunlock(void)
 }
 
 int
-_efgfmt(Fmt*)
+_efgfmt(Fmt* fmt)
 {
 	return -1;
 }

+ 5 - 5
sys/src/9/port/proc.c

@@ -64,7 +64,7 @@ char *statename[] =
 };
 
 Sched*
-procsched(Proc *)
+procsched(Proc *p)
 {
 	return &run;
 }
@@ -159,7 +159,7 @@ sched(void)
 			m->machno,
 			m->ilockdepth,
 			up? up->lastilock: nil,
-			(up && up->lastilock)? up->lastilock->pc: 0,
+			(up && up->lastilock)? up->lastilock->_pc: 0,
 			getcallerpc(&p+2));
 
 	if(up){
@@ -975,7 +975,7 @@ sleep(Rendez *r, int (*f)(void*), void *arg)
 
 	if(up->nlocks)
 		print("process %d sleeps with %d locks held, last lock %#p locked at pc %#p, sleep called from %#p\n",
-			up->pid, up->nlocks, up->lastlock, up->lastlock->pc, getcallerpc(&r));
+			up->pid, up->nlocks, up->lastlock, up->lastlock->_pc, getcallerpc(&r));
 	lock(r);
 	lock(&up->rlock);
 	if(r->p){
@@ -1049,7 +1049,7 @@ tfn(void *arg)
 }
 
 void
-twakeup(Ureg*, Timer *t)
+twakeup(Ureg* ureg, Timer *t)
 {
 	Proc *p;
 	Rendez *trend;
@@ -1503,7 +1503,7 @@ dumpaproc(Proc *p)
 	print("%3d:%10s pc %#p dbgpc %#p  %8s (%s) ut %ld st %ld bss %#p qpc %#p nl %d nd %lud lpc %#p pri %lud\n",
 		p->pid, p->text, p->pc, dbgpc(p), s, statename[p->state],
 		p->time[0], p->time[1], bss, p->qpc, p->nlocks,
-		p->delaysched, p->lastlock ? p->lastlock->pc : 0, p->priority);
+		p->delaysched, p->lastlock ? p->lastlock->_pc : 0, p->priority);
 }
 
 void

+ 6 - 0
sys/src/9/port/syscallfmt.c

@@ -15,6 +15,12 @@
 
 #include "/sys/src/libc/9syscall/sys.h"
 
+extern struct {
+      char*   n;
+      void (*f)(Ar0*, va_list);
+      Ar0     r;
+} systab[];
+
 /*
  * Print functions for system call tracing.
  */

+ 3 - 3
sys/src/9/port/sysfile.c

@@ -323,7 +323,7 @@ sysopen(Ar0* ar0, va_list list)
 }
 
 void
-sysnsec(Ar0* ar0, va_list)
+sysnsec(Ar0* ar0, va_list list)
 {
 	/*
 	 * int64_t nsec(void);
@@ -1586,13 +1586,13 @@ sys_fstat(Ar0* ar0, va_list list)
 }
 
 void
-sys_wstat(Ar0*, va_list)
+sys_wstat(Ar0* ar, va_list list)
 {
 	error("old wstat system call - recompile");
 }
 
 void
-sys_fwstat(Ar0*, va_list)
+sys_fwstat(Ar0* ar, va_list list)
 {
 	error("old fwstat system call - recompile");
 }

+ 4 - 4
sys/src/9/port/sysproc.c

@@ -707,19 +707,19 @@ sysexec(Ar0* ar0, va_list list)
 }
 
 void
-sysr1(Ar0* , va_list )
+sysr1(Ar0* ar, va_list va)
 {
 	print("sysr1() called. recompile your binary\n");
 }
 
 void
-sysnixsyscall(Ar0* , va_list )
+sysnixsyscall(Ar0* ar, va_list va)
 {
 	print("nixsyscall() called. recompile your binary\n");
 }
 
 int
-return0(void*)
+return0(void* v)
 {
 	return 0;
 }
@@ -762,7 +762,7 @@ sysalarm(Ar0* ar0, va_list list)
 }
 
 void
-sysexits(Ar0*, va_list list)
+sysexits(Ar0* ar, va_list list)
 {
 	char *status;
 	char *inval = "invalid exit string";

+ 2 - 2
sys/src/9/port/syssem.c

@@ -124,7 +124,7 @@ Done:
 }
 
 void
-syssemsleep(Ar0*, va_list list)
+syssemsleep(Ar0* ar, va_list list)
 {
 	int *np;
 	int dontblock;
@@ -145,7 +145,7 @@ syssemsleep(Ar0*, va_list list)
 }
 
 void
-syssemwakeup(Ar0*, va_list list)
+syssemwakeup(Ar0* ar, va_list list)
 {
 	int *np;
 	Sem *s;

+ 1 - 1
sys/src/9/port/syszio.c

@@ -508,7 +508,7 @@ sysziopwrite(Ar0 *ar0, va_list list)
 }
 
 void
-sysziofree(Ar0 *, va_list list)
+sysziofree(Ar0 *a, va_list list)
 {
 	Zio *io;
 	int nio, i;

+ 13 - 13
sys/src/9/port/taslock.c

@@ -114,7 +114,7 @@ lockloop(Lock *l, uintptr_t pc)
 
 	p = l->p;
 	print("lock %#p loop key %#ux pc %#p held by pc %#p proc %d\n",
-		l, l->key, pc, l->pc, p ? p->pid : 0);
+		l, l->key, pc, l->_pc, p ? p->pid : 0);
 	dumpaproc(up);
 	if(p != nil)
 		dumpaproc(p);
@@ -135,7 +135,7 @@ lock(Lock *l)
 	if(TAS(&l->key) == 0){
 		if(up)
 			up->lastlock = l;
-		l->pc = pc;
+		l->_pc = pc;
 		l->p = up;
 		l->isilock = 0;
 		if(LOCKCYCLES)
@@ -158,7 +158,7 @@ lock(Lock *l)
 				 * multiprocessor, the other processor will unlock
 				 */
 				print("inversion %#p pc %#p proc %d held by pc %#p proc %d\n",
-					l, pc, up ? up->pid : 0, l->pc, l->p ? l->p->pid : 0);
+					l, pc, up ? up->pid : 0, l->_pc, l->p ? l->p->pid : 0);
 				up->edf->d = todget(nil);	/* yield to process with lock */
 			}
 			if(i++ > 100000000){
@@ -171,7 +171,7 @@ lock(Lock *l)
 		if(TAS(&l->key) == 0){
 			if(up)
 				up->lastlock = l;
-			l->pc = pc;
+			l->_pc = pc;
 			l->p = up;
 			l->isilock = 0;
 			if(LOCKCYCLES)
@@ -222,7 +222,7 @@ acquire:
 	if(up)
 		up->lastilock = l;
 	l->pl = pl;
-	l->pc = pc;
+	l->_pc = pc;
 	l->p = up;
 	l->isilock = 1;
 	l->m = m;
@@ -243,7 +243,7 @@ canlock(Lock *l)
 
 	if(up)
 		up->lastlock = l;
-	l->pc = getcallerpc(&l);
+	l->_pc = getcallerpc(&l);
 	l->p = up;
 	l->m = m;
 	l->isilock = 0;
@@ -263,16 +263,16 @@ unlock(Lock *l)
 		l->lockcycles = x - l->lockcycles;
 		if(l->lockcycles > maxlockcycles){
 			maxlockcycles = l->lockcycles;
-			maxlockpc = l->pc;
+			maxlockpc = l->_pc;
 		}
 	}
 
 	if(l->key == 0)
 		print("unlock: not locked: pc %#p\n", getcallerpc(&l));
 	if(l->isilock)
-		print("unlock of ilock: pc %#p, held by %#p\n", getcallerpc(&l), l->pc);
+		print("unlock of ilock: pc %#p, held by %#p\n", getcallerpc(&l), l->_pc);
 	if(l->p != up)
-		print("unlock: up changed: pc %#p, acquired at pc %#p, lock p %#p, unlock up %#p\n", getcallerpc(&l), l->pc, l->p, up);
+		print("unlock: up changed: pc %#p, acquired at pc %#p, lock p %#p, unlock up %#p\n", getcallerpc(&l), l->_pc, l->p, up);
 	l->m = nil;
 	l->key = 0;
 	coherence();
@@ -297,19 +297,19 @@ iunlock(Lock *l)
 		l->lockcycles = x - l->lockcycles;
 		if(l->lockcycles > maxilockcycles){
 			maxilockcycles = l->lockcycles;
-			maxilockpc = l->pc;
+			maxilockpc = l->_pc;
 		}
 	}
 
 	if(l->key == 0)
 		print("iunlock: not locked: pc %#p\n", getcallerpc(&l));
 	if(!l->isilock)
-		print("iunlock of lock: pc %#p, held by %#p\n", getcallerpc(&l), l->pc);
+		print("iunlock of lock: pc %#p, held by %#p\n", getcallerpc(&l), l->_pc);
 	if(islo())
-		print("iunlock while lo: pc %#p, held by %#p\n", getcallerpc(&l), l->pc);
+		print("iunlock while lo: pc %#p, held by %#p\n", getcallerpc(&l), l->_pc);
 	if(l->m != m){
 		print("iunlock by cpu%d, locked by cpu%d: pc %#p, held by %#p\n",
-			m->machno, l->m->machno, getcallerpc(&l), l->pc);
+			m->machno, l->m->machno, getcallerpc(&l), l->_pc);
 	}
 
 	pl = l->pl;

+ 1 - 0
sys/src/9/root/mkfile

@@ -1,3 +1,4 @@
+MKSHELL=$PLAN9/bin/rc
 </$objtype/mkfile
 
 TARG=`{ls *.[cy] | sed '/\.tab\.c$/d;s/..$//'}