Browse Source

Plan 9 from Bell Labs 2007-03-08

David du Colombier 17 years ago
parent
commit
3ba55c9f9c

+ 45 - 37
dist/replica/_plan9.db

@@ -340,15 +340,15 @@
 386/bin/ndb - 20000000775 sys sys 985743147 0
 386/bin/ndb/cs - 775 sys sys 1169612028 150911
 386/bin/ndb/csquery - 775 sys sys 1168402337 61702
-386/bin/ndb/dns - 775 sys sys 1173212578 255076
-386/bin/ndb/dnsdebug - 775 sys sys 1173212578 229223
+386/bin/ndb/dns - 775 sys sys 1173298949 272731
+386/bin/ndb/dnsdebug - 775 sys sys 1173298950 246762
 386/bin/ndb/dnsquery - 775 sys sys 1173113879 63870
-386/bin/ndb/dnstcp - 775 sys sys 1173212579 228125
+386/bin/ndb/dnstcp - 775 sys sys 1173298950 245622
 386/bin/ndb/ipquery - 775 sys sys 1169612031 96994
 386/bin/ndb/mkdb - 775 sys sys 1168402340 64211
 386/bin/ndb/mkhash - 775 sys sys 1168402340 84780
 386/bin/ndb/mkhosts - 775 sys sys 1168402340 85823
-386/bin/ndb/query - 775 sys sys 1168402340 83962
+386/bin/ndb/query - 775 sys sys 1173298951 83990
 386/bin/netkey - 775 sys sys 1168402341 72717
 386/bin/netstat - 775 sys sys 1169612032 85184
 386/bin/news - 775 sys sys 1168402341 71956
@@ -5768,7 +5768,7 @@ sys/games - 20000000775 sys sys 1117225532 0
 sys/games/lib - 20000000775 sys sys 1165337608 0
 sys/games/lib/4scores - 10000000666 sys sys 1118680448 0
 sys/games/lib/5scores - 10000000666 sys sys 1118680453 0
-sys/games/lib/fortunes - 664 sys sys 1172959612 263699
+sys/games/lib/fortunes - 664 sys sys 1173279478 263737
 sys/games/lib/mahjongg - 20000000775 sys sys 1095792278 0
 sys/games/lib/mahjongg/backgrounds - 20000000775 sys sys 1095792293 0
 sys/games/lib/mahjongg/backgrounds/default.bit - 664 sys sys 1095792293 346803
@@ -7960,13 +7960,14 @@ sys/src/9/mtx/uarti8250.c - 664 sys sys 1018721288 11590
 sys/src/9/pc - 20000000775 sys sys 1161233143 0
 sys/src/9/pc/a100p.cp - 444 sys sys 1159735144 21984
 sys/src/9/pc/apbootstrap.s - 664 sys sys 1131293655 3037
-sys/src/9/pc/apic.c - 664 sys sys 1162907929 8872
+sys/src/9/pc/apic.c - 664 sys sys 1173288116 8927
 sys/src/9/pc/apm.c - 664 sys sys 1131290210 3723
 sys/src/9/pc/apmjump.s - 664 sys sys 1032058947 1527
 sys/src/9/pc/archmp.c - 664 sys sys 1131290214 2357
 sys/src/9/pc/audio.h - 664 sys sys 1015014513 343
+sys/src/9/pc/bios32.c - 664 sys sys 1173287378 3029
 sys/src/9/pc/cga.c - 664 sys sys 1015014513 1843
-sys/src/9/pc/dat.h - 664 sys sys 1168305049 6693
+sys/src/9/pc/dat.h - 664 sys sys 1173289271 6917
 sys/src/9/pc/devarch.c - 664 sys sys 1168315311 19342
 sys/src/9/pc/devether.c - 664 sys sys 1131290265 10315
 sys/src/9/pc/devfloppy.c - 664 sys sys 1142958305 20139
@@ -7981,7 +7982,7 @@ sys/src/9/pc/devtv.c - 664 sys sys 1131290299 45676
 sys/src/9/pc/devusb.c - 664 sys sys 1168305372 18752
 sys/src/9/pc/devvga.c - 664 sys sys 1131290315 9332
 sys/src/9/pc/dma.c - 664 sys sys 1142966373 5332
-sys/src/9/pc/ether2000.c - 664 sys sys 1089299187 4819
+sys/src/9/pc/ether2000.c - 664 sys sys 1173287379 4901
 sys/src/9/pc/ether2114x.c - 664 sys sys 1145359795 41693
 sys/src/9/pc/ether589.c - 664 sys sys 1015014516 4644
 sys/src/9/pc/ether79c970.c - 664 sys sys 1160070602 14088
@@ -8009,7 +8010,7 @@ sys/src/9/pc/ethervgbe.c - 664 sys sys 1160066496 26838
 sys/src/9/pc/ethervt6102.c - 664 sys sys 1131907459 22286
 sys/src/9/pc/etherwavelan.c - 664 sys sys 1131290380 3747
 sys/src/9/pc/floppy.h - 664 sys sys 1055700609 3835
-sys/src/9/pc/fns.h - 664 sys sys 1168303981 4587
+sys/src/9/pc/fns.h - 664 sys sys 1173287378 4719
 sys/src/9/pc/hcwAMC.h - 664 sys sys 1026860163 166004
 sys/src/9/pc/i8253.c - 664 sys sys 1139681387 6236
 sys/src/9/pc/i8259.c - 664 sys sys 1131290399 4586
@@ -8017,7 +8018,7 @@ sys/src/9/pc/init9.c - 664 sys sys 1040002518 94
 sys/src/9/pc/initcode.s - 664 sys sys 1015014519 282
 sys/src/9/pc/io.h - 664 sys sys 1165555523 9406
 sys/src/9/pc/kbd.c - 664 sys sys 1132574883 12365
-sys/src/9/pc/l.s - 664 sys sys 1169492952 28736
+sys/src/9/pc/l.s - 664 sys sys 1173287379 29161
 sys/src/9/pc/main.c - 664 sys sys 1168306227 15337
 sys/src/9/pc/mem.h - 664 sys sys 1137622431 5203
 sys/src/9/pc/memory.c - 664 sys sys 1153172671 18773
@@ -8025,7 +8026,7 @@ sys/src/9/pc/mkfile - 664 sys sys 1158794206 4004
 sys/src/9/pc/mmu.c - 664 sys sys 1171688128 24591
 sys/src/9/pc/mouse.c - 664 sys sys 1098479254 7057
 sys/src/9/pc/mp.c - 664 sys sys 1162388126 17349
-sys/src/9/pc/mp.h - 664 sys sys 1153193597 6795
+sys/src/9/pc/mp.h - 664 sys sys 1173288116 6799
 sys/src/9/pc/nv_dma.h - 664 sys sys 1081384508 12943
 sys/src/9/pc/pc - 664 sys sys 1143768293 1452
 sys/src/9/pc/pcauth - 664 sys sys 1131907692 715
@@ -8036,7 +8037,7 @@ sys/src/9/pc/pcdisk - 664 sys sys 1161302470 1495
 sys/src/9/pc/pcf - 664 sys sys 1161302469 1553
 sys/src/9/pc/pcfl - 664 sys sys 1161302470 1587
 sys/src/9/pc/pcflop - 664 sys sys 1158061762 1513
-sys/src/9/pc/pci.c - 664 sys sys 1161060538 26986
+sys/src/9/pc/pci.c - 664 sys sys 1173287378 29216
 sys/src/9/pc/pcmciamodem.c - 664 sys sys 1099761153 1586
 sys/src/9/pc/pcmkfile - 664 sys sys 1109303822 101
 sys/src/9/pc/piix4smbus.c - 664 sys sys 1091129037 5230
@@ -8137,8 +8138,8 @@ sys/src/9/port/log.c - 664 sys sys 1014931175 2860
 sys/src/9/port/master - 664 sys sys 1140695116 490
 sys/src/9/port/master.local - 664 sys sys 1063856961 130
 sys/src/9/port/mkbootrules - 775 sys sys 1055700518 923
-sys/src/9/port/mkdevc - 775 sys sys 1155994772 4248
-sys/src/9/port/mkdevlist - 775 sys sys 1055700519 510
+sys/src/9/port/mkdevc - 775 sys sys 1173287346 4203
+sys/src/9/port/mkdevlist - 775 sys sys 1173287347 612
 sys/src/9/port/mkerrstr - 775 sys sys 1015278340 75
 sys/src/9/port/mkextract - 775 sys sys 1039753334 435
 sys/src/9/port/mkfile - 664 sys sys 1063856960 350
@@ -9005,22 +9006,22 @@ sys/src/boot/alphapc/mmu.c - 664 sys sys 954479198 2736
 sys/src/boot/alphapc/print.c - 664 sys sys 954267450 7971
 sys/src/boot/alphapc/u.h - 664 sys sys 954267450 687
 sys/src/boot/alphapc/vmspal.h - 664 sys sys 1137178711 2580
-sys/src/boot/arm - 20000000775 sys sys 1039727537 0
-sys/src/boot/arm/dat.h - 664 sys sys 985642785 0
-sys/src/boot/arm/donprint.c - 664 sys sys 985642785 4089
-sys/src/boot/arm/fns.h - 664 sys sys 1135487939 197
-sys/src/boot/arm/il.s - 664 sys sys 1015007998 2185
-sys/src/boot/arm/imain.c - 664 sys sys 985642785 603
-sys/src/boot/arm/inflate.c - 664 sys sys 1018029973 2907
-sys/src/boot/arm/io.h - 664 sys sys 985642786 6324
-sys/src/boot/arm/l.s - 664 sys sys 985642786 10805
-sys/src/boot/arm/lib.h - 664 sys sys 1135487939 3382
-sys/src/boot/arm/map - 664 sys sys 985642786 236
-sys/src/boot/arm/mem.h - 664 sys sys 985642786 7421
-sys/src/boot/arm/mkfile - 664 sys sys 985642960 578
-sys/src/boot/arm/print.c - 664 sys sys 985642786 778
-sys/src/boot/arm/uart.c - 664 sys sys 985642787 1484
-sys/src/boot/mkfile - 664 sys sys 985643201 190
+sys/src/boot/bitsy - 20000000775 sys sys 1039727537 0
+sys/src/boot/bitsy/dat.h - 664 sys sys 985642785 0
+sys/src/boot/bitsy/donprint.c - 664 sys sys 985642785 4089
+sys/src/boot/bitsy/fns.h - 664 sys sys 1135487939 197
+sys/src/boot/bitsy/il.s - 664 sys sys 1015007998 2185
+sys/src/boot/bitsy/imain.c - 664 sys sys 985642785 603
+sys/src/boot/bitsy/inflate.c - 664 sys sys 1018029973 2907
+sys/src/boot/bitsy/io.h - 664 sys sys 985642786 6324
+sys/src/boot/bitsy/l.s - 664 sys sys 985642786 10805
+sys/src/boot/bitsy/lib.h - 664 sys sys 1135487939 3382
+sys/src/boot/bitsy/map - 664 sys sys 985642786 236
+sys/src/boot/bitsy/mem.h - 664 sys sys 985642786 7421
+sys/src/boot/bitsy/mkfile - 664 sys sys 985642960 578
+sys/src/boot/bitsy/print.c - 664 sys sys 985642786 778
+sys/src/boot/bitsy/uart.c - 664 sys sys 1173299930 1495
+sys/src/boot/mkfile - 664 sys sys 1173300033 192
 sys/src/boot/pc - 20000000775 sys sys 1144961189 0
 sys/src/boot/pc/8250.c - 664 sys sys 1015007947 5727
 sys/src/boot/pc/alarm.c - 664 sys sys 1015007947 1668
@@ -12671,13 +12672,13 @@ sys/src/cmd/ndb/dblookup.c - 664 sys sys 1173238983 18199
 sys/src/cmd/ndb/dn.c - 664 sys sys 1173239201 32107
 sys/src/cmd/ndb/dnarea.c - 664 sys sys 1173059947 2517
 sys/src/cmd/ndb/dnnotify.c - 664 sys sys 1173238959 3158
-sys/src/cmd/ndb/dnresolve.c - 664 sys sys 1173061785 16701
-sys/src/cmd/ndb/dns.c - 664 sys sys 1173239144 15721
-sys/src/cmd/ndb/dns.h - 664 sys sys 1173238977 9967
-sys/src/cmd/ndb/dnsdebug.c - 664 sys sys 1173239028 8629
+sys/src/cmd/ndb/dnresolve.c - 664 sys sys 1173300735 20768
+sys/src/cmd/ndb/dns.c - 664 sys sys 1173300607 15708
+sys/src/cmd/ndb/dns.h - 664 sys sys 1173300569 9985
+sys/src/cmd/ndb/dnsdebug.c - 664 sys sys 1173300569 8640
 sys/src/cmd/ndb/dnserver.c - 664 sys sys 1173060400 4449
 sys/src/cmd/ndb/dnsquery.c - 664 sys sys 1120564714 2198
-sys/src/cmd/ndb/dnstcp.c - 664 sys sys 1173239020 7698
+sys/src/cmd/ndb/dnstcp.c - 664 sys sys 1173300569 7709
 sys/src/cmd/ndb/dnudpserver.c - 664 sys sys 1173239157 5693
 sys/src/cmd/ndb/ipquery.c - 664 sys sys 1124711426 773
 sys/src/cmd/ndb/mkdb.c - 664 sys sys 957402054 2886
@@ -14453,7 +14454,7 @@ sys/src/fs/pc/sdata.c - 664 sys sys 1151726802 64709
 sys/src/fs/pc/sdmv50xx.c - 664 sys sys 1151486130 39434
 sys/src/fs/pc/sdscsi.c - 664 sys sys 1146786984 7017
 sys/src/fs/pc/toy.c - 664 sys sys 1140167948 2166
-sys/src/fs/pc/trap.c - 664 sys sys 1055699801 7946
+sys/src/fs/pc/trap.c - 664 sys sys 1173300812 7998
 sys/src/fs/port - 20000000775 sys sys 1151739200 0
 sys/src/fs/port/9p1.c - 664 sys sys 1140167971 29982
 sys/src/fs/port/9p1.h - 664 sys sys 1140167972 2128
@@ -15680,4 +15681,11 @@ usr/glenda/lib/profile - 664 glenda glenda 1105128663 890
 usr/glenda/readme.acme - 664 glenda glenda 1019860628 4753
 usr/glenda/readme.rio - 664 glenda glenda 1019860628 6370
 usr/glenda/tmp - 20000000775 glenda glenda 1018802620 0
-sys/src/cmd/ndb/dnresolve.c - 664 sys sys 1173240424 20672
+386/bin/ndb/dns - 775 sys sys 1173326548 272738
+386/bin/ndb/dnsdebug - 775 sys sys 1173326549 246795
+386/bin/ndb/dnstcp - 775 sys sys 1173326549 245655
+sys/src/cmd/ndb/dnresolve.c - 664 sys sys 1173326868 20749
+sys/src/cmd/ndb/dns.c - 664 sys sys 1173326858 15802
+sys/src/cmd/ndb/dns.h - 664 sys sys 1173326777 9948
+sys/src/cmd/ndb/dnsdebug.c - 664 sys sys 1173326777 8617
+sys/src/cmd/ndb/dnstcp.c - 664 sys sys 1173326777 7686

+ 37 - 36
dist/replica/plan9.db

@@ -340,15 +340,15 @@
 386/bin/ndb - 20000000775 sys sys 985743147 0
 386/bin/ndb/cs - 775 sys sys 1169612028 150911
 386/bin/ndb/csquery - 775 sys sys 1168402337 61702
-386/bin/ndb/dns - 775 sys sys 1173212578 255076
-386/bin/ndb/dnsdebug - 775 sys sys 1173212578 229223
+386/bin/ndb/dns - 775 sys sys 1173326548 272738
+386/bin/ndb/dnsdebug - 775 sys sys 1173326549 246795
 386/bin/ndb/dnsquery - 775 sys sys 1173113879 63870
-386/bin/ndb/dnstcp - 775 sys sys 1173212579 228125
+386/bin/ndb/dnstcp - 775 sys sys 1173326549 245655
 386/bin/ndb/ipquery - 775 sys sys 1169612031 96994
 386/bin/ndb/mkdb - 775 sys sys 1168402340 64211
 386/bin/ndb/mkhash - 775 sys sys 1168402340 84780
 386/bin/ndb/mkhosts - 775 sys sys 1168402340 85823
-386/bin/ndb/query - 775 sys sys 1168402340 83962
+386/bin/ndb/query - 775 sys sys 1173298951 83990
 386/bin/netkey - 775 sys sys 1168402341 72717
 386/bin/netstat - 775 sys sys 1169612032 85184
 386/bin/news - 775 sys sys 1168402341 71956
@@ -5768,7 +5768,7 @@ sys/games - 20000000775 sys sys 1117225532 0
 sys/games/lib - 20000000775 sys sys 1165337608 0
 sys/games/lib/4scores - 10000000666 sys sys 1118680448 0
 sys/games/lib/5scores - 10000000666 sys sys 1118680453 0
-sys/games/lib/fortunes - 664 sys sys 1172959612 263699
+sys/games/lib/fortunes - 664 sys sys 1173279478 263737
 sys/games/lib/mahjongg - 20000000775 sys sys 1095792278 0
 sys/games/lib/mahjongg/backgrounds - 20000000775 sys sys 1095792293 0
 sys/games/lib/mahjongg/backgrounds/default.bit - 664 sys sys 1095792293 346803
@@ -7960,13 +7960,14 @@ sys/src/9/mtx/uarti8250.c - 664 sys sys 1018721288 11590
 sys/src/9/pc - 20000000775 sys sys 1161233143 0
 sys/src/9/pc/a100p.cp - 444 sys sys 1159735144 21984
 sys/src/9/pc/apbootstrap.s - 664 sys sys 1131293655 3037
-sys/src/9/pc/apic.c - 664 sys sys 1162907929 8872
+sys/src/9/pc/apic.c - 664 sys sys 1173288116 8927
 sys/src/9/pc/apm.c - 664 sys sys 1131290210 3723
 sys/src/9/pc/apmjump.s - 664 sys sys 1032058947 1527
 sys/src/9/pc/archmp.c - 664 sys sys 1131290214 2357
 sys/src/9/pc/audio.h - 664 sys sys 1015014513 343
+sys/src/9/pc/bios32.c - 664 sys sys 1173287378 3029
 sys/src/9/pc/cga.c - 664 sys sys 1015014513 1843
-sys/src/9/pc/dat.h - 664 sys sys 1168305049 6693
+sys/src/9/pc/dat.h - 664 sys sys 1173289271 6917
 sys/src/9/pc/devarch.c - 664 sys sys 1168315311 19342
 sys/src/9/pc/devether.c - 664 sys sys 1131290265 10315
 sys/src/9/pc/devfloppy.c - 664 sys sys 1142958305 20139
@@ -7981,7 +7982,7 @@ sys/src/9/pc/devtv.c - 664 sys sys 1131290299 45676
 sys/src/9/pc/devusb.c - 664 sys sys 1168305372 18752
 sys/src/9/pc/devvga.c - 664 sys sys 1131290315 9332
 sys/src/9/pc/dma.c - 664 sys sys 1142966373 5332
-sys/src/9/pc/ether2000.c - 664 sys sys 1089299187 4819
+sys/src/9/pc/ether2000.c - 664 sys sys 1173287379 4901
 sys/src/9/pc/ether2114x.c - 664 sys sys 1145359795 41693
 sys/src/9/pc/ether589.c - 664 sys sys 1015014516 4644
 sys/src/9/pc/ether79c970.c - 664 sys sys 1160070602 14088
@@ -8009,7 +8010,7 @@ sys/src/9/pc/ethervgbe.c - 664 sys sys 1160066496 26838
 sys/src/9/pc/ethervt6102.c - 664 sys sys 1131907459 22286
 sys/src/9/pc/etherwavelan.c - 664 sys sys 1131290380 3747
 sys/src/9/pc/floppy.h - 664 sys sys 1055700609 3835
-sys/src/9/pc/fns.h - 664 sys sys 1168303981 4587
+sys/src/9/pc/fns.h - 664 sys sys 1173287378 4719
 sys/src/9/pc/hcwAMC.h - 664 sys sys 1026860163 166004
 sys/src/9/pc/i8253.c - 664 sys sys 1139681387 6236
 sys/src/9/pc/i8259.c - 664 sys sys 1131290399 4586
@@ -8017,7 +8018,7 @@ sys/src/9/pc/init9.c - 664 sys sys 1040002518 94
 sys/src/9/pc/initcode.s - 664 sys sys 1015014519 282
 sys/src/9/pc/io.h - 664 sys sys 1165555523 9406
 sys/src/9/pc/kbd.c - 664 sys sys 1132574883 12365
-sys/src/9/pc/l.s - 664 sys sys 1169492952 28736
+sys/src/9/pc/l.s - 664 sys sys 1173287379 29161
 sys/src/9/pc/main.c - 664 sys sys 1168306227 15337
 sys/src/9/pc/mem.h - 664 sys sys 1137622431 5203
 sys/src/9/pc/memory.c - 664 sys sys 1153172671 18773
@@ -8025,7 +8026,7 @@ sys/src/9/pc/mkfile - 664 sys sys 1158794206 4004
 sys/src/9/pc/mmu.c - 664 sys sys 1171688128 24591
 sys/src/9/pc/mouse.c - 664 sys sys 1098479254 7057
 sys/src/9/pc/mp.c - 664 sys sys 1162388126 17349
-sys/src/9/pc/mp.h - 664 sys sys 1153193597 6795
+sys/src/9/pc/mp.h - 664 sys sys 1173288116 6799
 sys/src/9/pc/nv_dma.h - 664 sys sys 1081384508 12943
 sys/src/9/pc/pc - 664 sys sys 1143768293 1452
 sys/src/9/pc/pcauth - 664 sys sys 1131907692 715
@@ -8036,7 +8037,7 @@ sys/src/9/pc/pcdisk - 664 sys sys 1161302470 1495
 sys/src/9/pc/pcf - 664 sys sys 1161302469 1553
 sys/src/9/pc/pcfl - 664 sys sys 1161302470 1587
 sys/src/9/pc/pcflop - 664 sys sys 1158061762 1513
-sys/src/9/pc/pci.c - 664 sys sys 1161060538 26986
+sys/src/9/pc/pci.c - 664 sys sys 1173287378 29216
 sys/src/9/pc/pcmciamodem.c - 664 sys sys 1099761153 1586
 sys/src/9/pc/pcmkfile - 664 sys sys 1109303822 101
 sys/src/9/pc/piix4smbus.c - 664 sys sys 1091129037 5230
@@ -8137,8 +8138,8 @@ sys/src/9/port/log.c - 664 sys sys 1014931175 2860
 sys/src/9/port/master - 664 sys sys 1140695116 490
 sys/src/9/port/master.local - 664 sys sys 1063856961 130
 sys/src/9/port/mkbootrules - 775 sys sys 1055700518 923
-sys/src/9/port/mkdevc - 775 sys sys 1155994772 4248
-sys/src/9/port/mkdevlist - 775 sys sys 1055700519 510
+sys/src/9/port/mkdevc - 775 sys sys 1173287346 4203
+sys/src/9/port/mkdevlist - 775 sys sys 1173287347 612
 sys/src/9/port/mkerrstr - 775 sys sys 1015278340 75
 sys/src/9/port/mkextract - 775 sys sys 1039753334 435
 sys/src/9/port/mkfile - 664 sys sys 1063856960 350
@@ -9005,22 +9006,22 @@ sys/src/boot/alphapc/mmu.c - 664 sys sys 954479198 2736
 sys/src/boot/alphapc/print.c - 664 sys sys 954267450 7971
 sys/src/boot/alphapc/u.h - 664 sys sys 954267450 687
 sys/src/boot/alphapc/vmspal.h - 664 sys sys 1137178711 2580
-sys/src/boot/arm - 20000000775 sys sys 1039727537 0
-sys/src/boot/arm/dat.h - 664 sys sys 985642785 0
-sys/src/boot/arm/donprint.c - 664 sys sys 985642785 4089
-sys/src/boot/arm/fns.h - 664 sys sys 1135487939 197
-sys/src/boot/arm/il.s - 664 sys sys 1015007998 2185
-sys/src/boot/arm/imain.c - 664 sys sys 985642785 603
-sys/src/boot/arm/inflate.c - 664 sys sys 1018029973 2907
-sys/src/boot/arm/io.h - 664 sys sys 985642786 6324
-sys/src/boot/arm/l.s - 664 sys sys 985642786 10805
-sys/src/boot/arm/lib.h - 664 sys sys 1135487939 3382
-sys/src/boot/arm/map - 664 sys sys 985642786 236
-sys/src/boot/arm/mem.h - 664 sys sys 985642786 7421
-sys/src/boot/arm/mkfile - 664 sys sys 985642960 578
-sys/src/boot/arm/print.c - 664 sys sys 985642786 778
-sys/src/boot/arm/uart.c - 664 sys sys 985642787 1484
-sys/src/boot/mkfile - 664 sys sys 985643201 190
+sys/src/boot/bitsy - 20000000775 sys sys 1039727537 0
+sys/src/boot/bitsy/dat.h - 664 sys sys 985642785 0
+sys/src/boot/bitsy/donprint.c - 664 sys sys 985642785 4089
+sys/src/boot/bitsy/fns.h - 664 sys sys 1135487939 197
+sys/src/boot/bitsy/il.s - 664 sys sys 1015007998 2185
+sys/src/boot/bitsy/imain.c - 664 sys sys 985642785 603
+sys/src/boot/bitsy/inflate.c - 664 sys sys 1018029973 2907
+sys/src/boot/bitsy/io.h - 664 sys sys 985642786 6324
+sys/src/boot/bitsy/l.s - 664 sys sys 985642786 10805
+sys/src/boot/bitsy/lib.h - 664 sys sys 1135487939 3382
+sys/src/boot/bitsy/map - 664 sys sys 985642786 236
+sys/src/boot/bitsy/mem.h - 664 sys sys 985642786 7421
+sys/src/boot/bitsy/mkfile - 664 sys sys 985642960 578
+sys/src/boot/bitsy/print.c - 664 sys sys 985642786 778
+sys/src/boot/bitsy/uart.c - 664 sys sys 1173299930 1495
+sys/src/boot/mkfile - 664 sys sys 1173300033 192
 sys/src/boot/pc - 20000000775 sys sys 1144961189 0
 sys/src/boot/pc/8250.c - 664 sys sys 1015007947 5727
 sys/src/boot/pc/alarm.c - 664 sys sys 1015007947 1668
@@ -12671,13 +12672,13 @@ sys/src/cmd/ndb/dblookup.c - 664 sys sys 1173238983 18199
 sys/src/cmd/ndb/dn.c - 664 sys sys 1173239201 32107
 sys/src/cmd/ndb/dnarea.c - 664 sys sys 1173059947 2517
 sys/src/cmd/ndb/dnnotify.c - 664 sys sys 1173238959 3158
-sys/src/cmd/ndb/dnresolve.c - 664 sys sys 1173240424 20672
-sys/src/cmd/ndb/dns.c - 664 sys sys 1173239144 15721
-sys/src/cmd/ndb/dns.h - 664 sys sys 1173238977 9967
-sys/src/cmd/ndb/dnsdebug.c - 664 sys sys 1173239028 8629
+sys/src/cmd/ndb/dnresolve.c - 664 sys sys 1173326868 20749
+sys/src/cmd/ndb/dns.c - 664 sys sys 1173326858 15802
+sys/src/cmd/ndb/dns.h - 664 sys sys 1173326777 9948
+sys/src/cmd/ndb/dnsdebug.c - 664 sys sys 1173326777 8617
 sys/src/cmd/ndb/dnserver.c - 664 sys sys 1173060400 4449
 sys/src/cmd/ndb/dnsquery.c - 664 sys sys 1120564714 2198
-sys/src/cmd/ndb/dnstcp.c - 664 sys sys 1173239020 7698
+sys/src/cmd/ndb/dnstcp.c - 664 sys sys 1173326777 7686
 sys/src/cmd/ndb/dnudpserver.c - 664 sys sys 1173239157 5693
 sys/src/cmd/ndb/ipquery.c - 664 sys sys 1124711426 773
 sys/src/cmd/ndb/mkdb.c - 664 sys sys 957402054 2886
@@ -14453,7 +14454,7 @@ sys/src/fs/pc/sdata.c - 664 sys sys 1151726802 64709
 sys/src/fs/pc/sdmv50xx.c - 664 sys sys 1151486130 39434
 sys/src/fs/pc/sdscsi.c - 664 sys sys 1146786984 7017
 sys/src/fs/pc/toy.c - 664 sys sys 1140167948 2166
-sys/src/fs/pc/trap.c - 664 sys sys 1055699801 7946
+sys/src/fs/pc/trap.c - 664 sys sys 1173300812 7998
 sys/src/fs/port - 20000000775 sys sys 1151739200 0
 sys/src/fs/port/9p1.c - 664 sys sys 1140167971 29982
 sys/src/fs/port/9p1.h - 664 sys sys 1140167972 2128

+ 61 - 0
dist/replica/plan9.log

@@ -47704,3 +47704,64 @@
 1173240006 9 c sys/src/cmd/ndb/dnudpserver.c - 664 sys sys 1173239157 5693
 1173240006 10 c sys/src/cmd/ndb/query.c - 664 sys sys 1173239042 1137
 1173241806 0 c sys/src/cmd/ndb/dnresolve.c - 664 sys sys 1173240424 20672
+1173279606 0 c sys/games/lib/fortunes - 664 sys sys 1173279478 263737
+1173288606 0 c sys/src/9/pc/apic.c - 664 sys sys 1173288116 8927
+1173288606 1 c sys/src/9/pc/dat.h - 664 sys sys 1173287379 6938
+1173288606 2 c sys/src/9/pc/ether2000.c - 664 sys sys 1173287379 4901
+1173288606 3 c sys/src/9/pc/fns.h - 664 sys sys 1173287378 4719
+1173288606 4 c sys/src/9/pc/l.s - 664 sys sys 1173287379 29161
+1173288606 5 c sys/src/9/pc/mp.h - 664 sys sys 1173288116 6799
+1173288606 6 c sys/src/9/pc/pci.c - 664 sys sys 1173287378 29216
+1173288606 7 a sys/src/9/pc/bios32.c - 664 sys sys 1173287378 3029
+1173288606 8 c sys/src/9/port/mkdevc - 775 sys sys 1173287346 4203
+1173288606 9 c sys/src/9/port/mkdevlist - 775 sys sys 1173287347 612
+1173290406 0 c sys/src/9/pc/dat.h - 664 sys sys 1173289271 6917
+1173299406 0 c 386/bin/ndb/dns - 775 sys sys 1173298949 272731
+1173299406 1 c 386/bin/ndb/dnsdebug - 775 sys sys 1173298950 246762
+1173299406 2 c 386/bin/ndb/dnstcp - 775 sys sys 1173298950 245622
+1173299406 3 c 386/bin/ndb/query - 775 sys sys 1173298951 83990
+1173301207 0 a sys/src/boot/bitsy - 20000000775 sys sys 1039727537 0
+1173301207 1 a sys/src/boot/bitsy/dat.h - 664 sys sys 985642785 0
+1173301207 2 a sys/src/boot/bitsy/donprint.c - 664 sys sys 985642785 4089
+1173301207 3 a sys/src/boot/bitsy/fns.h - 664 sys sys 1135487939 197
+1173301207 4 a sys/src/boot/bitsy/il.s - 664 sys sys 1015007998 2185
+1173301207 5 a sys/src/boot/bitsy/imain.c - 664 sys sys 985642785 603
+1173301207 6 a sys/src/boot/bitsy/inflate.c - 664 sys sys 1018029973 2907
+1173301207 7 a sys/src/boot/bitsy/io.h - 664 sys sys 985642786 6324
+1173301207 8 a sys/src/boot/bitsy/l.s - 664 sys sys 985642786 10805
+1173301207 9 a sys/src/boot/bitsy/lib.h - 664 sys sys 1135487939 3382
+1173301207 10 a sys/src/boot/bitsy/map - 664 sys sys 985642786 236
+1173301207 11 a sys/src/boot/bitsy/mem.h - 664 sys sys 985642786 7421
+1173301207 12 a sys/src/boot/bitsy/mkfile - 664 sys sys 985642960 578
+1173301207 13 a sys/src/boot/bitsy/print.c - 664 sys sys 985642786 778
+1173301207 14 a sys/src/boot/bitsy/uart.c - 664 sys sys 1173299930 1495
+1173301207 15 c sys/src/boot/mkfile - 664 sys sys 1173300033 192
+1173301207 16 c sys/src/cmd/ndb/dnresolve.c - 664 sys sys 1173300735 20768
+1173301207 17 c sys/src/cmd/ndb/dns.c - 664 sys sys 1173300607 15708
+1173301207 18 c sys/src/cmd/ndb/dns.h - 664 sys sys 1173300569 9985
+1173301207 19 c sys/src/cmd/ndb/dnsdebug.c - 664 sys sys 1173300569 8640
+1173301207 20 c sys/src/cmd/ndb/dnstcp.c - 664 sys sys 1173300569 7709
+1173301207 21 c sys/src/fs/pc/trap.c - 664 sys sys 1173300812 7998
+1173301207 22 d sys/src/boot/arm/uart.c - 664 sys sys 985642787 0
+1173301207 23 d sys/src/boot/arm/print.c - 664 sys sys 985642786 0
+1173301207 24 d sys/src/boot/arm/mkfile - 664 sys sys 985642960 0
+1173301207 25 d sys/src/boot/arm/mem.h - 664 sys sys 985642786 0
+1173301207 26 d sys/src/boot/arm/map - 664 sys sys 985642786 0
+1173301207 27 d sys/src/boot/arm/lib.h - 664 sys sys 1135487939 0
+1173301207 28 d sys/src/boot/arm/l.s - 664 sys sys 985642786 0
+1173301207 29 d sys/src/boot/arm/io.h - 664 sys sys 985642786 0
+1173301207 30 d sys/src/boot/arm/inflate.c - 664 sys sys 1018029973 0
+1173301207 31 d sys/src/boot/arm/imain.c - 664 sys sys 985642785 0
+1173301207 32 d sys/src/boot/arm/il.s - 664 sys sys 1015007998 0
+1173301207 33 d sys/src/boot/arm/fns.h - 664 sys sys 1135487939 0
+1173301207 34 d sys/src/boot/arm/donprint.c - 664 sys sys 985642785 0
+1173301207 35 d sys/src/boot/arm/dat.h - 664 sys sys 985642785 0
+1173301207 36 d sys/src/boot/arm - 20000000775 sys sys 1039727537 0
+1173328206 0 c 386/bin/ndb/dns - 775 sys sys 1173326548 272738
+1173328206 1 c 386/bin/ndb/dnsdebug - 775 sys sys 1173326549 246795
+1173328206 2 c 386/bin/ndb/dnstcp - 775 sys sys 1173326549 245655
+1173328206 3 c sys/src/cmd/ndb/dnresolve.c - 664 sys sys 1173326868 20749
+1173328206 4 c sys/src/cmd/ndb/dns.c - 664 sys sys 1173326858 15802
+1173328206 5 c sys/src/cmd/ndb/dns.h - 664 sys sys 1173326777 9948
+1173328206 6 c sys/src/cmd/ndb/dnsdebug.c - 664 sys sys 1173326777 8617
+1173328206 7 c sys/src/cmd/ndb/dnstcp.c - 664 sys sys 1173326777 7686

+ 1 - 0
sys/games/lib/fortunes

@@ -4169,3 +4169,4 @@ Don't interrupt!  Let me finish! - Rae McLellan
 bool x = "false";  // valid C++ [sets x to true]
 # The below line not be changed otherwise we refuse to work
 having read AF_UNIX(7) i'm still don't see the point.  portable programs should not do this.  portable programs should not do that.  the details of this varies from implementation to implementation.  none of the following socket things ... are implemented.  the name is limited to 107 bytes.   - forsyth
+Please wait. This can take some time.

+ 10 - 8
sys/src/9/pc/apic.c

@@ -97,14 +97,14 @@ struct
 	ulong	div;
 } lapictimer;
 
-static int
+static ulong
 lapicr(int r)
 {
 	return *(lapicbase+(r/sizeof(*lapicbase)));
 }
 
 static void
-lapicw(int r, int data)
+lapicw(int r, ulong data)
 {
 	*(lapicbase+(r/sizeof(*lapicbase))) = data;
 	data = *(lapicbase+(LapicID/sizeof(*lapicbase)));
@@ -151,7 +151,8 @@ lapictimerinit(void)
 		lapictimer.min = lapictimer.hz/(100*HZ);
 
 		if(lapictimer.hz > hz)
-			panic("lapic clock faster than cpu clock");
+			panic("lapic clock faster than cpu clock %lld > %lld",
+				lapictimer.hz, hz);
 		lapictimer.div = hz/lapictimer.hz;
 	}
 }
@@ -222,7 +223,8 @@ lapicinit(Apic* apic)
 void
 lapicstartap(Apic* apic, int v)
 {
-	int crhi, i;
+	int i;
+	ulong crhi;
 
 	crhi = apic->apicno<<24;
 	lapicw(LapicICRHI, crhi);
@@ -241,7 +243,7 @@ lapicstartap(Apic* apic, int v)
 void
 lapicerror(Ureg*, void*)
 {
-	int esr;
+	ulong esr;
 
 	lapicw(LapicESR, 0);
 	esr = lapicr(LapicESR);
@@ -251,7 +253,7 @@ lapicerror(Ureg*, void*)
 	case 0x52C:				/* stepping cC0 */
 		return;
 	}
-	print("cpu%d: lapicerror: 0x%8.8uX\n", m->machno, esr);
+	print("cpu%d: lapicerror: 0x%8.8luX\n", m->machno, esr);
 }
 
 void
@@ -263,7 +265,7 @@ lapicspurious(Ureg*, void*)
 int
 lapicisr(int v)
 {
-	int isr;
+	ulong isr;
 
 	isr = lapicr(LapicISR + (v/32));
 
@@ -279,7 +281,7 @@ lapiceoi(int v)
 }
 
 void
-lapicicrw(int hi, int lo)
+lapicicrw(ulong hi, ulong lo)
 {
 	lapicw(LapicICRHI, hi);
 	lapicw(LapicICRLO, lo);

+ 155 - 0
sys/src/9/pc/bios32.c

@@ -0,0 +1,155 @@
+#include "u.h"
+#include "../port/lib.h"
+#include "mem.h"
+#include "dat.h"
+#include "fns.h"
+#include "io.h"
+
+#define VFLAG(...)	if(vflag) print(__VA_ARGS__)
+
+#define BIOSSEG(a)	KADDR(((uint)(a))<<4)
+#define UPTR2INT(p)	((uintptr)(p))
+
+#define l16get(p)	(((p)[1]<<8)|(p)[0])
+#define l32get(p)	(((u32int)l16get(p+2)<<16)|l16get(p))
+
+static int vflag = 0;
+
+typedef struct BIOS32sdh {		/* BIOS32 Service Directory Header */
+	u8int	signature[4];		/* "_32_" */
+	u8int	physaddr[4];		/* physical address of entry point */
+	u8int	revision;
+	u8int	length;			/* of header in paragraphs */
+	u8int	checksum;		/* */
+	u8int	reserved[5];
+} BIOS32sdh;
+
+typedef struct BIOS32si {		/* BIOS32 Service Interface */
+	u8int*	base;			/* base address of service */
+	int	length;			/* length of service */
+	u32int	offset;			/* service entry-point from base */
+
+	u16int	ptr[3];			/* far pointer m16:32 */
+} BIOS32si;
+
+static Lock bios32lock;
+static u16int bios32ptr[3];
+static void* bios32entry;
+
+int
+bios32ci(BIOS32si* si, BIOS32ci* ci)
+{
+	int r;
+
+	lock(&bios32lock);
+	r = bios32call(ci, si->ptr);
+	unlock(&bios32lock);
+
+	return r;
+}
+
+static void*
+rsdchecksum(void* addr, int length)
+{
+	u8int *p, sum;
+
+	sum = 0;
+	for(p = addr; length-- > 0; p++)
+		sum += *p;
+	if(sum == 0)
+		return addr;
+
+	return nil;
+}
+
+static void*
+rsdscan(u8int* addr, int len, char* signature)
+{
+	int sl;
+	u8int *e, *p;
+
+	e = addr+len;
+	sl = strlen(signature);
+	for(p = addr; p+sl < e; p += 16){
+		if(memcmp(p, signature, sl))
+			continue;
+		return p;
+	}
+
+	return nil;
+}
+
+static int
+bios32locate(void)
+{
+	uintptr ptr;
+	BIOS32sdh *sdh;
+
+	VFLAG("bios32link\n");
+	if((sdh = rsdscan(BIOSSEG(0xE000), 0x20000, "_32_")) == nil)
+		return -1;
+	if(rsdchecksum(sdh, sizeof(BIOS32sdh)) == nil)
+		return -1;
+	VFLAG("sdh @ %#p, entry %#ux\n", sdh, l32get(sdh->physaddr));
+
+	bios32entry = vmap(l32get(sdh->physaddr), 4096+1);
+	VFLAG("entry @ %#p\n", bios32entry);
+	ptr = UPTR2INT(bios32entry);
+	bios32ptr[0] = ptr & 0xffff;
+	bios32ptr[1] = (ptr>>16) & 0xffff;
+	bios32ptr[2] = KESEL;
+	VFLAG("bios32link: ptr %ux %ux %ux\n",
+		bios32ptr[0], bios32ptr[1], bios32ptr[2]);
+
+	return 0;
+}
+
+void
+BIOS32close(BIOS32si* si)
+{
+	vunmap(si->base, si->length);
+	free(si);
+}
+
+BIOS32si*
+bios32open(char* id)
+{
+	uint ptr;
+	BIOS32ci ci;
+	BIOS32si *si;
+
+	lock(&bios32lock);
+	if(bios32ptr[2] == 0 && bios32locate() < 0){
+		unlock(&bios32lock);
+		return nil;
+	}
+
+	VFLAG("bios32si: %s\n", id);
+	memset(&ci, 0, sizeof(BIOS32ci));
+	ci.eax = (id[3]<<24|(id[2]<<16)|(id[1]<<8)|id[0]);
+
+	bios32call(&ci, bios32ptr);
+	unlock(&bios32lock);
+
+	VFLAG("bios32si: eax %ux\n", ci.eax);
+	if(ci.eax & 0xff)
+		return nil;
+	VFLAG("bios32si: base %#ux length %#ux offset %#ux\n",
+		ci.ebx, ci.ecx, ci.edx);
+
+	if((si = malloc(sizeof(BIOS32si))) == nil)
+		return nil;
+	if((si->base = vmap(ci.ebx, ci.ecx)) == nil){
+		free(si);
+		return nil;
+	}
+	si->length = ci.ecx;
+
+	ptr = UPTR2INT(si->base)+ci.edx;
+	si->ptr[0] = ptr & 0xffff;
+	si->ptr[1] = (ptr>>16) & 0xffff;
+	si->ptr[2] = KESEL;
+	VFLAG("bios32si: eax entry %ux\n", ptr);
+
+	return si;
+}

+ 12 - 1
sys/src/9/pc/dat.h

@@ -1,3 +1,5 @@
+typedef struct BIOS32si	BIOS32si;
+typedef struct BIOS32ci	BIOS32ci;
 typedef struct Conf	Conf;
 typedef struct Confmem	Confmem;
 typedef struct FPsave	FPsave;
@@ -17,8 +19,8 @@ typedef struct Proc	Proc;
 typedef struct Segdesc	Segdesc;
 typedef struct Ureg	Ureg;
 typedef struct Vctl	Vctl;
-typedef vlong		Tval;
 
+#pragma incomplete BIOS32si
 #pragma incomplete Pcidev
 #pragma incomplete Ureg
 
@@ -316,3 +318,12 @@ struct DevConf
 	int	nports;			/* Number of ports */
 	Devport	*ports;			/* The ports themselves */
 };
+
+typedef struct BIOS32ci {		/* BIOS32 Calling Interface */
+	u32int	eax;
+	u32int	ebx;
+	u32int	ecx;
+	u32int	edx;
+	u32int	esi;
+	u32int	edi;
+} BIOS32ci;

+ 4 - 2
sys/src/9/pc/ether2000.c

@@ -132,7 +132,6 @@ ne2000pnp(Ether* edev)
 static int
 ne2000reset(Ether* edev)
 {
-	static int first;
 	ushort buf[16];
 	ulong port;
 	Dp8390 *dp8390;
@@ -198,11 +197,14 @@ ne2000reset(Ether* edev)
 	 * initialisation has been tried, but that wouldn't be
 	 * enough, there are other ethernet boards which could
 	 * match.
+	 * Parallels has buf[0x0E] == 0x00 whereas real hardware
+	 * usually has 0x57.
 	 */
 	dp8390reset(edev);
 	memset(buf, 0, sizeof(buf));
 	dp8390read(dp8390, buf, 0, sizeof(buf));
-	if((buf[0x0E] & 0xFF) != 0x57 || (buf[0x0F] & 0xFF) != 0x57){
+	i = buf[0x0E] & 0xFF;
+	if((i != 0x00 && i != 0x57) || (buf[0x0F] & 0xFF) != 0x57){
 		iofree(edev->port);
 		free(edev->ctlr);
 		return -1;

+ 4 - 0
sys/src/9/pc/fns.h

@@ -3,6 +3,10 @@
 void	aamloop(int);
 Dirtab*	addarchfile(char*, int, long(*)(Chan*,void*,long,vlong), long(*)(Chan*,void*,long,vlong));
 void	archinit(void);
+int	bios32call(BIOS32ci*, u16int[3]);
+int	bios32ci(BIOS32si*, BIOS32ci*);
+void	bios32close(BIOS32si*);
+BIOS32si* bios32open(char*);
 void	bootargs(void*);
 ulong	cankaddr(ulong);
 void	clockintr(Ureg*, void*);

+ 30 - 0
sys/src/9/pc/l.s

@@ -453,6 +453,36 @@ TEXT again32kzero(SB), $0
 	RET
 
 /*
+ * BIOS32.
+ */
+TEXT bios32call(SB), $0
+	MOVL	ci+0(FP), BP
+	MOVL	0(BP), AX
+	MOVL	4(BP), BX
+	MOVL	8(BP), CX
+	MOVL	12(BP), DX
+	MOVL	16(BP), SI
+	MOVL	20(BP), DI
+	PUSHL	BP
+
+	MOVL	12(SP), BP			/* ptr */
+	BYTE $0xFF; BYTE $0x5D; BYTE $0x00	/* CALL FAR 0(BP) */
+
+	POPL	BP
+	MOVL	DI, 20(BP)
+	MOVL	SI, 16(BP)
+	MOVL	DX, 12(BP)
+	MOVL	CX, 8(BP)
+	MOVL	BX, 4(BP)
+	MOVL	AX, 0(BP)
+
+	XORL	AX, AX
+	JCC	_bios32xxret
+	INCL	AX
+
+_bios32xxret:
+	RET
+
 /*
  * Port I/O.
  *	in[bsl]		input a byte|short|long

+ 1 - 1
sys/src/9/pc/mp.h

@@ -214,7 +214,7 @@ extern void ioapicrdtw(Apic*, int, int, int);
 extern void lapicclock(Ureg*, void*);
 extern int lapiceoi(int);
 extern void lapicerror(Ureg*, void*);
-extern void lapicicrw(int, int);
+extern void lapicicrw(ulong, ulong);
 extern void lapicinit(Apic*);
 extern void lapicintroff(void);
 extern void lapicintron(void);

+ 124 - 8
sys/src/9/pc/pci.c

@@ -66,10 +66,15 @@ static Pcidev* pciroot;
 static Pcidev* pcilist;
 static Pcidev* pcitail;
 static int nobios, nopcirouting;
+static BIOS32si* pcibiossi;
 
-static int pcicfgrw32(int, int, int, int);
-static int pcicfgrw16(int, int, int, int);
-static int pcicfgrw8(int, int, int, int);
+static int pcicfgrw8raw(int, int, int, int);
+static int pcicfgrw16raw(int, int, int, int);
+static int pcicfgrw32raw(int, int, int, int);
+
+static int (*pcicfgrw8)(int, int, int, int) = pcicfgrw8raw;
+static int (*pcicfgrw16)(int, int, int, int) = pcicfgrw16raw;
+static int (*pcicfgrw32)(int, int, int, int) = pcicfgrw32raw;
 
 static char* bustypes[] = {
 	"CBUSI",
@@ -177,6 +182,9 @@ pcibusmap(Pcidev *root, ulong *pmema, ulong *pioa, int wrreg)
 	ulong v, mema, ioa, sioa, smema, base, limit;
 	Pcisiz *table, *tptr, *mtb, *itb;
 
+	if(!nobios)
+		return;
+
 	ioa = *pioa;
 	mema = *pmema;
 
@@ -761,6 +769,108 @@ pcirouting(void)
 
 static void pcireservemem(void);
 
+static int
+pcicfgrw8bios(int tbdf, int rno, int data, int read)
+{
+	BIOS32ci ci;
+
+	if(pcibiossi == nil)
+		return -1;
+
+	memset(&ci, 0, sizeof(BIOS32ci));
+	ci.ebx = (BUSBNO(tbdf)<<8)|(BUSDNO(tbdf)<<3)|BUSFNO(tbdf);
+	ci.edi = rno;
+	if(read){
+		ci.eax = 0xB108;
+		if(!bios32ci(pcibiossi, &ci)/* && !(ci.eax & 0xFF)*/)
+			return ci.ecx & 0xFF;
+	}
+	else{
+		ci.eax = 0xB10B;
+		ci.ecx = data & 0xFF;
+		if(!bios32ci(pcibiossi, &ci)/* && !(ci.eax & 0xFF)*/)
+			return 0;
+	}
+
+	return -1;
+}
+
+static int
+pcicfgrw16bios(int tbdf, int rno, int data, int read)
+{
+	BIOS32ci ci;
+
+	if(pcibiossi == nil)
+		return -1;
+
+	memset(&ci, 0, sizeof(BIOS32ci));
+	ci.ebx = (BUSBNO(tbdf)<<8)|(BUSDNO(tbdf)<<3)|BUSFNO(tbdf);
+	ci.edi = rno;
+	if(read){
+		ci.eax = 0xB109;
+		if(!bios32ci(pcibiossi, &ci)/* && !(ci.eax & 0xFF)*/)
+			return ci.ecx & 0xFFFF;
+	}
+	else{
+		ci.eax = 0xB10C;
+		ci.ecx = data & 0xFFFF;
+		if(!bios32ci(pcibiossi, &ci)/* && !(ci.eax & 0xFF)*/)
+			return 0;
+	}
+
+	return -1;
+}
+
+static int
+pcicfgrw32bios(int tbdf, int rno, int data, int read)
+{
+	BIOS32ci ci;
+
+	if(pcibiossi == nil)
+		return -1;
+
+	memset(&ci, 0, sizeof(BIOS32ci));
+	ci.ebx = (BUSBNO(tbdf)<<8)|(BUSDNO(tbdf)<<3)|BUSFNO(tbdf);
+	ci.edi = rno;
+	if(read){
+		ci.eax = 0xB10A;
+		if(!bios32ci(pcibiossi, &ci)/* && !(ci.eax & 0xFF)*/)
+			return ci.ecx;
+	}
+	else{
+		ci.eax = 0xB10D;
+		ci.ecx = data;
+		if(!bios32ci(pcibiossi, &ci)/* && !(ci.eax & 0xFF)*/)
+			return 0;
+	}
+
+	return -1;
+}
+
+static BIOS32si*
+pcibiosinit(void)
+{
+	BIOS32ci ci;
+	BIOS32si *si;
+
+	if((si = bios32open("$PCI")) == nil)
+		return nil;
+
+	memset(&ci, 0, sizeof(BIOS32ci));
+	ci.eax = 0xB101;
+	if(bios32ci(si, &ci) || ci.edx != ((' '<<24)|('I'<<16)|('C'<<8)|'P')){
+		free(si);
+		return nil;
+	}
+	if(ci.eax & 0x01)
+		pcimaxdno = 31;
+	else
+		pcimaxdno = 15;
+	pcimaxbno = ci.ecx & 0xff;
+
+	return si;
+}
+
 void
 pcibussize(Pcidev *root, ulong *msize, ulong *iosize)
 {
@@ -829,8 +939,14 @@ pcicfginit(void)
 		}
 	}
 	
-	if(pcicfgmode < 0)
-		goto out;
+	if(pcicfgmode < 0 || pcibios) {
+		if((pcibiossi = pcibiosinit()) == nil)
+			goto out;
+		pcicfgrw8 = pcicfgrw8bios;
+		pcicfgrw16 = pcicfgrw16bios;
+		pcicfgrw32 = pcicfgrw32bios;
+		pcicfgmode = 3;
+	}
 
 	fmtinstall('T', tbdffmt);
 
@@ -925,7 +1041,7 @@ pcireservemem(void)
 }
 
 static int
-pcicfgrw8(int tbdf, int rno, int data, int read)
+pcicfgrw8raw(int tbdf, int rno, int data, int read)
 {
 	int o, type, x;
 
@@ -982,7 +1098,7 @@ pcicfgw8(Pcidev* pcidev, int rno, int data)
 }
 
 static int
-pcicfgrw16(int tbdf, int rno, int data, int read)
+pcicfgrw16raw(int tbdf, int rno, int data, int read)
 {
 	int o, type, x;
 
@@ -1039,7 +1155,7 @@ pcicfgw16(Pcidev* pcidev, int rno, int data)
 }
 
 static int
-pcicfgrw32(int tbdf, int rno, int data, int read)
+pcicfgrw32raw(int tbdf, int rno, int data, int read)
 {
 	int type, x;
 

+ 155 - 150
sys/src/9/port/mkdevc

@@ -1,186 +1,191 @@
 #!/bin/rc
 
-awk -v 'objtype='$objtype '
+awk -v 'objtype='$objtype -v 'pwd='`{pwd} '
 BEGIN{
-		if(ARGC < 2)
-			exit
+	if(ARGC < 2)
+		exit
 }
 
 /^[ \t]*$/{
-		next;
+	next;
 }
 /^#/{
-		next;
+	next;
 }
 collect && /^[^ \t]/{
-		collect = 0;
+	collect = 0;
 }
 collect && section ~ "dev"{
-		dev[ndev++] = $1;
-		if($1 ~ "ad")
-			devad = 1;
-		else if($1 ~ "sd")
-			devsd = 1;
-		else if($1 ~ "uart")
-			devuart = 1;
-		else if($1 ~ "vga")
-			devvga = 1;
-		for(i = 2; i <= NF; i++){
-			if($i ~ "dma" && objtype ~ "(386|alpha|amd64)")
-				i8237dma++;
-		}
+	dev[ndev++] = $1;
+	if($1 ~ "ad")
+		devad = 1;
+	else if($1 ~ "sd")
+		devsd = 1;
+	else if($1 ~ "uart")
+		devuart = 1;
+	else if($1 ~ "vga")
+		devvga = 1;
+	for(i = 2; i <= NF; i++){
+		if($i ~ "dma" && objtype ~ "(386|alpha|amd64)")
+			i8237dma++;
+	}
 }
 collect && section ~ "ip"{
-		ip[nip++] = $1;
+	ip[nip++] = $1;
 }
 collect && section ~ "link"{
-		link[nlink++] = $1;
+	link[nlink++] = $1;
 }
 collect && section ~ "misc"{
-		misc[nmisc++] = $1;
-		if($1 ~ "^arch.*")
-			arch[narch++] = $1;
-		else if($1 ~ "^ad.*")
-			adifc[nadifc++] = $1;
-		else if($1 ~ "^sd.*")
-			sdifc[nsdifc++] = $1;
-		else if($1 ~ "^uart.*")
-			physuart[nphysuart++] = substr($1, 5, length($1)-4) "physuart";
-		else if($1 ~ "^vga.*"){
-			if(NF == 1)
+	sub(/^[ \t]*/, "");
+	misc[nmisc++] = $1;
+	if($1 ~ "^arch.*")
+		arch[narch++] = $1;
+	else if($1 ~ "^ad.*")
+		adifc[nadifc++] = $1;
+	else if($1 ~ "^sd.*")
+		sdifc[nsdifc++] = $1;
+	else if($1 ~ "^uart.*")
+		physuart[nphysuart++] = substr($1, 5, length($1)-4) "physuart";
+	else if($1 ~ "^vga.*"){
+		if(NF == 1)
+			vgadev[nvgadev++] = $1;
+		else for(i = 2; i <= NF; i++){
+			if($i ~ "[+]cur")
 				vgadev[nvgadev++] = $1;
-			else for(i = 2; i <= NF; i++){
-				if($i ~ "[+]cur")
-					vgadev[nvgadev++] = $1;
-				if($i ~ "[+=]cur")
-					vgacur[nvgacur++] = $1;
-			}
+			if($i ~ "[+=]cur")
+				vgacur[nvgacur++] = $1;
 		}
+	}
 }
 
 collect && section ~ "port"{
-		port[nport++] = $0;
+	sub(/^[ \t]*/, "");
+	port[nport++] = $0;
 }
 $0 ~ /^[^ \t]/{
-		if($0 ~ "(bootdir|dev|ip|link|misc|port)"){
-			section = $0;
-			collect = 1;
-		}
-		next;
+	if($0 ~ "(bootdir|dev|ip|link|misc|port)"){
+		section = $0;
+		collect = 1;
+	}
+	next;
 }
 
 END{
-		if(ARGC < 2)
-			exit "usage"
-
-		printf "#include \"u.h\"\n";
-		printf "#include \"../port/lib.h\"\n";
-		printf "#include \"mem.h\"\n";
-		printf "#include \"dat.h\"\n";
-		printf "#include \"fns.h\"\n";
-		printf "#include \"io.h\"\n";
-		printf "#include \"../port/error.h\"\n\n";
-
-		for(i = 0; i < ndev; i++)
-			printf "extern Dev %sdevtab;\n", dev[i];
-		printf "Dev* devtab[]={\n";
-		for(i = 0; i < ndev; i++)
-			printf "\t&%sdevtab,\n", dev[i];
-		printf "\tnil,\n};\n\n";
-
-		if(objtype ~ "(386|alpha|amd64)"){
-			alloc = "nil";
-			if(i8237dma){
-				printf "extern void _i8237alloc(void);\n";
-				alloc = "_i8237alloc";
-			}
-			printf "void (*i8237alloc)(void) = %s;\n", alloc;
-			printf "int i8237dma = %d;\n\n", i8237dma;
-		}
-
-		for(i = 0; i < nlink; i++)
-			printf "extern void %slink(void);\n", link[i];
-
-		printf "void links(void){\n";
-		print "\tbootlinks();\n";
-		for(i = 0; i < nlink; i++)
-			printf "\t%slink();\n", link[i];
-		printf "}\n\n";
-
-		if(narch || objtype ~ "386"){
-			for(i = 0; i < narch; i++)
-				printf "extern PCArch %s;\n", arch[i];
-			printf "PCArch* knownarch[] = {\n";
-			for(i = 0; i < narch; i++)
-				printf "\t&%s,\n", arch[i];
-			printf "\tnil,\n};\n\n";
-		}
-
-		if(devad){
-			printf "#include \"../port/ad.h\"\n";
-			for(i = 0; i < nadifc; i++)
-				printf "extern ADifc %sifc;\n", adifc[i];
-			printf "ADifc* adifc[] = {\n";
-		  	for(i = 0; i < nadifc; i++)
-				printf "\t&%sifc,\n", adifc[i];
-		  	printf "\tnil,\n};\n\n";
-		}
-		if(devsd){
-			printf "#include \"../port/sd.h\"\n";
-			for(i = 0; i < nsdifc; i++)
-				printf "extern SDifc %sifc;\n", sdifc[i];
-			printf "SDifc* sdifc[] = {\n";
-		  	for(i = 0; i < nsdifc; i++)
-				printf "\t&%sifc,\n", sdifc[i];
-		  	printf "\tnil,\n};\n\n";
-		}
-
-		if(devuart){
-			for(i = 0; i < nphysuart; i++)
-				printf "extern PhysUart %s;\n", physuart[i];
-			printf "PhysUart* physuart[] = {\n";
-		  	for(i = 0; i < nphysuart; i++)
-				printf "\t&%s,\n", physuart[i];
-		  	printf "\tnil,\n};\n\n";
-		}
-
-		if(devvga){
-			printf "#define	Image	IMAGE\n";
-			printf "#include <draw.h>\n";
-			printf "#include <memdraw.h>\n";
-			printf "#include <cursor.h>\n";
-			printf "#include \"screen.h\"\n";
-
-			for(i = 0; i < nvgadev; i++)
-				printf "extern VGAdev %sdev;\n", vgadev[i];
-		  	printf "VGAdev* vgadev[] = {\n";
-		  	for(i = 0; i < nvgadev; i++)
-				printf "\t&%sdev,\n", vgadev[i];
-		  	printf "\tnil,\n};\n\n";
-
-			for(i = 0; i < nvgacur; i++)
-				printf "extern VGAcur %scur;\n", vgacur[i];
-		  	printf "VGAcur* vgacur[] = {\n";
-		  	for(i = 0; i < nvgacur; i++)
-				printf "\t&%scur,\n", vgacur[i];
-		  	printf "\tnil,\n};\n\n";
+	if(ARGC < 2)
+		exit "usage"
+
+	printf "#include \"u.h\"\n";
+	printf "#include \"../port/lib.h\"\n";
+	printf "#include \"mem.h\"\n";
+	printf "#include \"dat.h\"\n";
+	printf "#include \"fns.h\"\n";
+	printf "#include \"io.h\"\n";
+	printf "#include \"../port/error.h\"\n\n";
+
+	for(i = 0; i < ndev; i++)
+		printf "extern Dev %sdevtab;\n", dev[i];
+	printf "Dev* devtab[]={\n";
+	for(i = 0; i < ndev; i++)
+		printf "\t&%sdevtab,\n", dev[i];
+	printf "\tnil,\n};\n\n";
+
+	if(objtype ~ "(386|alpha|amd64)"){
+		alloc = "nil";
+		if(i8237dma){
+			printf "extern void _i8237alloc(void);\n";
+			alloc = "_i8237alloc";
 		}
+		printf "void (*i8237alloc)(void) = %s;\n", alloc;
+		printf "int i8237dma = %d;\n\n", i8237dma;
+	}
+
+	for(i = 0; i < nlink; i++)
+		printf "extern void %slink(void);\n", link[i];
+
+	printf "void links(void){\n";
+	print "\tbootlinks();\n";
+	for(i = 0; i < nlink; i++)
+		printf "\t%slink();\n", link[i];
+	printf "}\n\n";
+
+	if(narch || objtype ~ "386"){
+		for(i = 0; i < narch; i++)
+			printf "extern PCArch %s;\n", arch[i];
+		printf "PCArch* knownarch[] = {\n";
+		for(i = 0; i < narch; i++)
+			printf "\t&%s,\n", arch[i];
+		printf "\tnil,\n};\n\n";
+	}
+
+	if(devad){
+		printf "#include \"../port/ad.h\"\n";
+		for(i = 0; i < nadifc; i++)
+			printf "extern ADifc %sifc;\n", adifc[i];
+		printf "ADifc* adifc[] = {\n";
+	  	for(i = 0; i < nadifc; i++)
+			printf "\t&%sifc,\n", adifc[i];
+	  	printf "\tnil,\n};\n\n";
+	}
+	if(devsd){
+		printf "#include \"../port/sd.h\"\n";
+		for(i = 0; i < nsdifc; i++)
+			printf "extern SDifc %sifc;\n", sdifc[i];
+		printf "SDifc* sdifc[] = {\n";
+	  	for(i = 0; i < nsdifc; i++)
+			printf "\t&%sifc,\n", sdifc[i];
+	  	printf "\tnil,\n};\n\n";
+	}
+
+	if(devuart){
+		for(i = 0; i < nphysuart; i++)
+			printf "extern PhysUart %s;\n", physuart[i];
+		printf "PhysUart* physuart[] = {\n";
+	  	for(i = 0; i < nphysuart; i++)
+			printf "\t&%s,\n", physuart[i];
+	  	printf "\tnil,\n};\n\n";
+	}
+
+	if(devvga){
+		printf "#define	Image	IMAGE\n";
+		printf "#include <draw.h>\n";
+		printf "#include <memdraw.h>\n";
+		printf "#include <cursor.h>\n";
+		printf "#include \"screen.h\"\n";
+
+		for(i = 0; i < nvgadev; i++)
+			printf "extern VGAdev %sdev;\n", vgadev[i];
+	  	printf "VGAdev* vgadev[] = {\n";
+	  	for(i = 0; i < nvgadev; i++)
+			printf "\t&%sdev,\n", vgadev[i];
+	  	printf "\tnil,\n};\n\n";
+
+		for(i = 0; i < nvgacur; i++)
+			printf "extern VGAcur %scur;\n", vgacur[i];
+	  	printf "VGAcur* vgacur[] = {\n";
+	  	for(i = 0; i < nvgacur; i++)
+			printf "\t&%scur,\n", vgacur[i];
+	  	printf "\tnil,\n};\n\n";
+	}
 	
-		if(nip){
-			printf "#include \"../ip/ip.h\"\n";
-			for(i = 0; i < nip; i++)
-				printf "extern void %sinit(Fs*);\n", ip[i];
-			printf "void (*ipprotoinit[])(Fs*) = {\n";
-			for(i = 0; i < nip; i++)
-				printf "\t%sinit,\n", ip[i];
-			printf "\tnil,\n};\n\n";
-		}
+	if(nip){
+		printf "#include \"../ip/ip.h\"\n";
+		for(i = 0; i < nip; i++)
+			printf "extern void %sinit(Fs*);\n", ip[i];
+		printf "void (*ipprotoinit[])(Fs*) = {\n";
+		for(i = 0; i < nip; i++)
+			printf "\t%sinit,\n", ip[i];
+		printf "\tnil,\n};\n\n";
+	}
 
+	if(nport){
 		for(i = 0; i < nport; i++)
 			printf "%s\n", port[i];
+		printf "\n";
+	}
 
-		printf "char* conffile = \"%s\";\n", ARGV[1];
-		printf "ulong kerndate = KERNDATE;\n";
+	printf "char* conffile = \"%s/%s\";\n", pwd, ARGV[1];
+	printf "ulong kerndate = KERNDATE;\n";
 
-		exit
+	exit
 }' $*

+ 31 - 24
sys/src/9/port/mkdevlist

@@ -1,39 +1,46 @@
 #!/bin/rc
 
-awk '
-BEGIN{		collect = isdev = 0;
+awk -v 'objtype='$objtype '
+BEGIN{
+	if(ARGC < 2)
+		exit;
+	collect = isdev = 0;
 }
 
-/^$/{		next;
+/^[ \t]*$/{
+	next;
 }
-/^#/{		next;
+/^#/{
+	next;
 }
 collect && /^[^	\t]/{
-		collect = isdev = 0;
+	collect = isdev = 0;
 }
 collect && $0 ~ /[^ \t]+/{
-		if(isdev)
-			obj["dev" $1 "'.$O'"]++;
-		else
-			obj[$1 "'.$O'"]++;
-		for(i = 2; i <= NF; i++){
-			if($i !~ "[+=-].*")
-				obj[$i "'.$O'"]++;
-		}
+	if(isdev)
+		obj["dev" $1 "'.$O'"]++;
+	else
+		obj[$1 "'.$O'"]++;
+	for(i = 2; i <= NF; i++){
+		if($i !~ "[+=-].*")
+			obj[$i "'.$O'"]++;
+	}
 }
 $0 ~ /^[^ \t]/{
-		if($1 ~ "dev"){
-			isdev = 1;
-			collect = 1;
-		}
-		else if($1 ~ "misc" || $1 ~ "link" || $1 ~ "ip")
-			collect = 1;
-		next
+	if($1 ~ "dev"){
+		isdev = 1;
+		collect = 1;
+	}
+	else if($1 ~ "misc" || $1 ~ "link" || $1 ~ "ip")
+		collect = 1;
+	next;
 }
 
 END{
-		x = ""
-		for(i in obj)
-			x = x i "\n"
-		printf x
+	x = ""
+	for(i in obj)
+		x = x i "\n";
+	if(objtype ~ "386" && obj["pci" "'.$O'"])
+		x = x "bios32'.$O' \n";
+	printf x;
 }' $*

+ 0 - 0
sys/src/boot/arm/dat.h → sys/src/boot/bitsy/dat.h


+ 0 - 0
sys/src/boot/arm/donprint.c → sys/src/boot/bitsy/donprint.c


+ 0 - 0
sys/src/boot/arm/fns.h → sys/src/boot/bitsy/fns.h


+ 0 - 0
sys/src/boot/arm/il.s → sys/src/boot/bitsy/il.s


+ 0 - 0
sys/src/boot/arm/imain.c → sys/src/boot/bitsy/imain.c


+ 0 - 0
sys/src/boot/arm/inflate.c → sys/src/boot/bitsy/inflate.c


+ 0 - 0
sys/src/boot/arm/io.h → sys/src/boot/bitsy/io.h


+ 0 - 0
sys/src/boot/arm/l.s → sys/src/boot/bitsy/l.s


+ 0 - 0
sys/src/boot/arm/lib.h → sys/src/boot/bitsy/lib.h


+ 0 - 0
sys/src/boot/arm/map → sys/src/boot/bitsy/map


+ 0 - 0
sys/src/boot/arm/mem.h → sys/src/boot/bitsy/mem.h


+ 0 - 0
sys/src/boot/arm/mkfile → sys/src/boot/bitsy/mkfile


+ 0 - 0
sys/src/boot/arm/print.c → sys/src/boot/bitsy/print.c


+ 1 - 1
sys/src/boot/arm/uart.c → sys/src/boot/bitsy/uart.c

@@ -46,7 +46,7 @@ enum
 	Overrun=	1<<5,
 };
 
-Uartregs *uart3regs = UART3REGS;
+Uartregs *uart3regs = (Uartregs*)UART3REGS;
 
 
 /*

+ 1 - 1
sys/src/boot/mkfile

@@ -1,6 +1,6 @@
 ARCH=\
 	alphapc\
-	arm\
+	bitsy\
 	pc\
 
 all:V:

+ 9 - 6
sys/src/cmd/ndb/dnresolve.c

@@ -11,6 +11,8 @@ enum
 	Maxtrans=	3,	/* maximum transmissions to a server */
 };
 
+int inside, straddle, serve;
+
 static int	netquery(DN*, int, RR*, Request*, int);
 static RR*	dnresolve1(char*, int, int, Request*, int, int);
 
@@ -492,7 +494,7 @@ insideaddr(char *dom)
 	Ndbs s;
 	Ndbtuple *t;
 
-	if (0 && indoms == nil) {	/* not ready for prime time */
+	if (straddle && indoms == nil) {
 		db = ndbopen("/lib/ndb/local");
 		if (db != nil) {
 			qlock(&readlock);
@@ -713,9 +715,9 @@ netquery1(int fd, DN *dp, int type, RR *nsrp, Request *reqp, int depth,
 
 		/* no servers, punt */
 		if(l == dest)
-			if (0 && inside) {	/* not ready for prime time */
+			if (straddle && inside) {
 				/* HACK: use sys=outside ips */
-				if (0 && outsidens() == nil)
+				if (outsidens() == nil)
 					sysfatal("no outside-ns in ndb");
 				p = dest;
 				memmove(p->a, outsidens(), sizeof p->a);
@@ -938,10 +940,11 @@ netquery(DN *dp, int type, RR *nsrp, Request *reqp, int depth)
 	rv = 0;				/* pessimism */
 	triedin = 0;
 	/*
-	 * don't bother to query the broken inside nameservers for outside
-	 * addresses.
+	 * don't bother to query the (broken) inside nameservers for outside
+	 * addresses unless we're just a client.  if we're a server, we'd
+	 * better have a working /net.alt.
 	 */
-	if (!inside || insideaddr(dp->name)) {
+	if (!serve || !inside || insideaddr(dp->name)) {
 		rv = udpquery(mntpt, dp, type, nsrp, reqp, depth, Hurry,
 			(inside? Inns: Outns));
 		triedin = 1;

+ 7 - 5
sys/src/cmd/ndb/dns.c

@@ -60,10 +60,11 @@ struct {
 	Mfile	*inuse;		/* active mfile's */
 } mfalloc;
 
+extern int inside, straddle, serve;
+
 int	cachedb;
 int	debug;
 uchar	ipaddr[IPaddrlen];	/* my ip address */
-int	inside;
 int	maxage = Defmaxage;
 int	mfd[2];
 int	needrefresh;
@@ -104,7 +105,7 @@ void	setext(char*, int, char*);
 void
 usage(void)
 {
-	fprint(2, "usage: %s [-nrRst] [-a maxage] [-f ndb-file] [-N target] "
+	fprint(2, "usage: %s [-norRst] [-a maxage] [-f ndb-file] [-N target] "
 		"[-x netmtpt] [-z refreshprog]\n", argv0);
 	exits("usage");
 }
@@ -112,10 +113,8 @@ usage(void)
 void
 main(int argc, char *argv[])
 {
-	int	serve;
 	char	servefile[Maxpath], ext[Maxpath];
 
-	serve = 0;
 	setnetmtpt(mntpt, sizeof mntpt, nil);
 	ext[0] = 0;
 	ARGBEGIN{
@@ -139,6 +138,9 @@ main(int argc, char *argv[])
 		if (target < 100)
 			target = 100;
 		break;
+	case 'o':
+		straddle = 1;		/* straddle inside & outside networks */
+		break;
 	case 'r':
 		resolver = 1;
 		break;
@@ -146,7 +148,7 @@ main(int argc, char *argv[])
 		norecursion = 1;
 		break;
 	case 's':
-		serve = 1;	/* serve network */
+		serve = 1;		/* serve network */
 		cachedb = 1;
 		break;
 	case 't':

+ 0 - 1
sys/src/cmd/ndb/dns.h

@@ -349,7 +349,6 @@ extern char	*dbfile;
 extern int	debug;
 extern Area	*delegated;
 extern char	*logfile;
-extern int	inside;
 extern int	maxage;		/* age of oldest entry in cache (secs) */
 extern char	mntpt[];
 extern int	needrefresh;

+ 0 - 1
sys/src/cmd/ndb/dnsdebug.c

@@ -18,7 +18,6 @@ int	cachedb;
 char	*dbfile;
 int	debug;
 uchar	ipaddr[IPaddrlen];	/* my ip address */
-int	inside;
 char	*logfile = "dns";
 int	maxage  = 60;
 char	mntpt[Maxpath];

+ 0 - 1
sys/src/cmd/ndb/dnstcp.c

@@ -12,7 +12,6 @@ char	*caller = "";
 char	*dbfile;
 int	debug;
 uchar	ipaddr[IPaddrlen];	/* my ip address */
-int	inside;
 char	*logfile = "dns";
 int	maxage = 60;
 char	mntpt[Maxpath];

+ 3 - 0
sys/src/fs/pc/trap.c

@@ -163,6 +163,7 @@ trapinit(void)
 	outb(Int1aux, Int1vec);		/* ICW2 - interrupt vector offset */
 	outb(Int1aux, 0x02);		/* ICW3 - I am a slave on level 2 */
 	outb(Int1aux, 0x01);		/* ICW4 - 8086 mode, not buffered */
+	outb(Int1aux, 0xFF);
 
 	/*
 	 *  pass #2 8259 interrupts to #1
@@ -173,7 +174,9 @@ trapinit(void)
 	/*
 	 * Set Ocw3 to return the ISR when ctl read.
 	 */
+	inb(Int0ctl);
 	outb(Int0ctl, Ocw3|0x03);
+	inb(Int1ctl);
 	outb(Int1ctl, Ocw3|0x03);
 
 	/*