From 27f2f4a2b8e91b189f4aa21097cb629102bb1b13 Mon Sep 17 00:00:00 2001 From: David du Colombier <0intro@gmail.com> Date: Tue, 12 Nov 1991 00:00:00 +0000 Subject: [PATCH] Plan 9 from Bell Labs 1991-11-12 --- gnot/boot.h | 3959 ++++++++++++++++++++++++--------------------- gnot/clock.c | 12 +- gnot/dat.h | 5 +- gnot/devport.c | 2 +- gnot/fault68020.c | 3 +- gnot/main.c | 1 + gnot/trap.c | 51 +- pc/clock.c | 6 +- pc/dat.h | 5 +- pc/devfloppy.c | 16 +- pc/devrtc.c | 2 +- pc/fault386.c | 9 +- pc/io.h | 1 + pc/main.c | 2 + pc/trap.c | 64 +- pc/vga.c | 51 +- port/dev.c | 17 +- port/devarp.c | 6 +- port/devbit.c | 6 +- port/devcons.c | 43 +- port/devip.c | 8 +- port/deviproute.c | 2 +- port/devlance.c | 4 +- port/devnonet.c | 25 +- port/devproc.c | 100 +- port/devroot.c | 14 +- port/devscsi.c | 14 +- port/devwren.c | 2 +- port/pgrp.c | 4 +- port/portdat.h | 1 + port/proc.c | 8 +- power/clock.c | 12 +- power/dat.h | 2 +- power/devbit3.c | 5 - power/devrtc.c | 8 +- power/main.c | 2 +- ss/dat.h | 2 +- ss/main.c | 1 + 38 files changed, 2391 insertions(+), 2084 deletions(-) diff --git a/gnot/boot.h b/gnot/boot.h index f7629bf524328f564ba6d296f7385fa60bc183c9..55edd4c9daca4ac7ab178a7b24374ca267505b63 100644 --- a/gnot/boot.h +++ b/gnot/boot.h @@ -1,53 +1,53 @@ ulong bootcode[]={ 0x000000107, - 0x000003e8a, - 0x000000ba4, - 0x0000012e8, + 0x00000419e, + 0x000000c2c, + 0x0000013e8, 0x000000000, 0x000002020, 0x000000000, 0x000000000, 0x04feffff0, 0x02c7c0000, - 0x0dffe2d40, + 0x0fffe2d40, 0x08026486f, 0x000142f2f, 0x00014610c, 0x02f006100, - 0x019464fef, + 0x019664fef, 0x0001c4e75, 0x04feffff4, 0x0487803e8, - 0x061001de6, + 0x061001e06, 0x042a7486e, - 0x084386100, - 0x01dd04878, + 0x084c16100, + 0x01df04878, 0x00001486e, - 0x084406100, - 0x01dc44878, + 0x084c96100, + 0x01de44878, 0x00001486e, - 0x084486100, - 0x01db86100, + 0x084d16100, + 0x01dd86100, 0x001ca4aae, 0x080066600, 0x001ae486e, - 0x08450486e, - 0x09dd66100, - 0x01cca4878, + 0x084d9486e, + 0x09fde6100, + 0x01cea4878, 0x0001c486e, - 0x09dd6486e, - 0x084556100, - 0x012b4486e, - 0x09dd66100, - 0x0043042a7, - 0x0486e845c, - 0x0486e845a, - 0x061001d44, + 0x09fde486e, + 0x084de6100, + 0x012d4486e, + 0x09fde6100, + 0x0045042a7, + 0x0486e84e5, + 0x0486e84e3, + 0x061001d64, 0x04a806c0a, - 0x0486e845e, - 0x061001268, + 0x0486e84e7, + 0x061001288, 0x0588f6100, - 0x0047a1f40, + 0x0049a1f40, 0x00040102f, 0x0004049c0, 0x04fef0040, @@ -60,100 +60,100 @@ ulong bootcode[]={ 0x0726cb200, 0x0670000f0, 0x048780001, - 0x061000556, + 0x061000576, 0x0588f422f, 0x000014857, - 0x0486e8470, - 0x06100036e, - 0x0486e8478, - 0x0610018c2, + 0x0486e84f9, + 0x06100038e, + 0x0486e8501, + 0x0610018e2, 0x04aae803e, 0x067462f2e, 0x0800e486e, - 0x0847a486e, - 0x08ba66100, - 0x0197c486e, - 0x084822f2e, + 0x08503486e, + 0x08c2e6100, + 0x0199c486e, + 0x0850b2f2e, 0x0803e6100, - 0x01c00206e, + 0x01c20206e, 0x0803e4a80, 0x066000094, 0x048780001, - 0x0486e8485, + 0x0486e850e, 0x02f086100, - 0x01caa42a7, - 0x0486e848a, - 0x0486e8ba6, - 0x061001c9c, + 0x01cca42a7, + 0x0486e8513, + 0x0486e8c2e, + 0x061001cbc, 0x04fef002c, 0x04aae800e, 0x067222f2e, 0x0800e486e, - 0x08493486e, - 0x08ba66100, - 0x0193042a7, - 0x0486e84a3, - 0x0486e8ba6, - 0x061001c74, + 0x0851c486e, + 0x08c2e6100, + 0x0195042a7, + 0x0486e852c, + 0x0486e8c2e, + 0x061001c94, 0x04fef0018, - 0x0486e9c3e, - 0x0486e84b4, - 0x0486e8ba6, - 0x06100190e, + 0x0486e9cc6, + 0x0486e853d, + 0x0486e8c2e, + 0x06100192e, 0x04aae803a, 0x0672042a7, - 0x0486e84c2, - 0x0486e84bd, - 0x0486e8ba6, - 0x061001a48, - 0x0486e8ba6, - 0x061001170, + 0x0486e854b, + 0x0486e8546, + 0x0486e8c2e, + 0x061001a68, + 0x0486e8c2e, + 0x061001190, 0x04fef0038, 0x04e7542a7, - 0x0486e84cb, - 0x0486e84c6, - 0x0486e8ba6, - 0x061001a28, + 0x0486e8554, + 0x0486e854f, + 0x0486e8c2e, + 0x061001a48, 0x060de42a7, - 0x0486e8ba6, + 0x0486e8c2e, 0x02f086100, - 0x01c1a6000, + 0x01c3a6000, 0x0ff6e6100, - 0x0063c2f00, - 0x0610003f4, + 0x0065c2f00, + 0x061000414, 0x0588f6000, 0x0ff0e6100, - 0x009aa2f00, - 0x0610003e4, + 0x009ca2f00, + 0x061000404, 0x0588f6000, 0x0fefe486e, - 0x084636100, - 0x00a06588f, + 0x084ec6100, + 0x00a26588f, 0x02f006100, - 0x003ce588f, + 0x003ee588f, 0x06000fee8, - 0x0486e846a, - 0x0610009f0, + 0x0486e84f3, + 0x061000a10, 0x0588f2f00, - 0x0610003b8, + 0x0610003d8, 0x0588f6000, 0x0fed2486e, - 0x09d9e486e, - 0x09dd66100, - 0x01b1e4fef, + 0x09fa6486e, + 0x09fde6100, + 0x01b3e4fef, 0x0fff46000, - 0x0fe5e598f, + 0x0fe5e518f, 0x042ae8036, 0x042ae803a, 0x048780040, - 0x0486e9cde, - 0x0486e84ce, - 0x0610001be, + 0x0486e9d66, + 0x0486e8557, + 0x0610001de, 0x04a806654, 0x0207c0000, - 0x07cdc4878, + 0x09d644878, 0x000202f08, - 0x061001aa0, + 0x061001ac0, 0x020404a80, 0x0508f673c, 0x052880c10, @@ -173,96 +173,104 @@ ulong bootcode[]={ 0x0803660ea, 0x048780002, 0x0486e8012, - 0x0486e84d7, - 0x061000156, + 0x0486e8560, + 0x061000176, 0x04a806c00, - 0x00140486e, - 0x084ea6100, - 0x01a98588f, + 0x00160486e, + 0x085736100, + 0x01ab8588f, 0x02f00486e, - 0x084e2486e, - 0x09cde6100, - 0x01aa04a80, - 0x0660000f6, + 0x0856b486e, + 0x09d666100, + 0x01ac04a80, + 0x066000116, 0x0746c7069, 0x0b08242e7, 0x02d428042, 0x044df6708, 0x07061b082, - 0x0660000d2, + 0x0660000f2, 0x070012d40, 0x080064878, 0x0001c486e, - 0x09d9e486e, - 0x085086100, - 0x001044aae, + 0x09fa6486e, + 0x085916100, + 0x001244aae, 0x080066700, - 0x000a24878, + 0x000c24878, 0x0001c486e, - 0x09c22486e, - 0x085116100, - 0x000ec4a80, + 0x09caa486e, + 0x0859a6100, + 0x0010c4a80, 0x06c0e486e, - 0x0851c486e, - 0x09c226100, - 0x01a1a508f, + 0x085a5486e, + 0x09caa6100, + 0x01a3a508f, 0x04878001c, - 0x0486e9c3e, - 0x0486e852a, - 0x0610000ca, + 0x0486e9cc6, + 0x0486e85b3, + 0x0610000ea, 0x04878001c, - 0x0486e9df2, - 0x0486e8532, - 0x0610000ba, + 0x0486e9ffa, + 0x0486e85bb, + 0x0610000da, 0x0207c0000, - 0x0609c4a90, + 0x0809c4a90, 0x042e72d48, 0x0803244df, - 0x067242f10, - 0x0610019f2, + 0x067484282, + 0x07004b082, + 0x06f064ab0, + 0x02d106608, + 0x0d1fc0000, + 0x0002060de, + 0x02f420054, + 0x02f302d10, + 0x0610019f6, 0x0588f2f00, - 0x02f360161, + 0x0222f0058, + 0x02f361d25, 0x08032486e, - 0x09df26100, + 0x09ffa6100, 0x019f8206e, - 0x080324a80, + 0x08032242f, + 0x000604a80, 0x066204fef, 0x0000c486e, - 0x0853b486e, - 0x09df26100, - 0x019944a80, + 0x085c4486e, + 0x09ffa6100, + 0x019904a80, 0x06606706c, 0x02d408042, - 0x04fef0060, - 0x04e75d1fc, - 0x000000014, + 0x04fef0064, + 0x04e755282, 0x04fef000c, - 0x060a8486e, - 0x08523486e, - 0x09c226100, + 0x06096486e, + 0x085ac486e, + 0x09caa6100, 0x0198e598f, - 0x06000ff72, + 0x06000ff52, 0x07041b082, - 0x06600ff30, - 0x06000ff26, - 0x0486e84fd, + 0x06600ff10, + 0x06000ff06, + 0x0486e8586, 0x061001986, 0x0588f2f00, - 0x0486e84f2, - 0x0486e9cde, + 0x0486e857b, + 0x0486e9d66, 0x06100198e, 0x0242e8042, 0x04a804fef, 0x0000c6600, - 0x0feea7473, - 0x06000fee4, + 0x0feca7473, + 0x06000fec4, 0x0102e8012, 0x049c02400, 0x04feffff4, - 0x06000fed4, + 0x06000feb4, 0x04fefffc0, 0x02f2f0044, - 0x0486e8543, + 0x0486e85cc, 0x0486f0008, 0x06100167a, 0x042370161, @@ -286,7 +294,7 @@ ulong bootcode[]={ 0x000644e75, 0x04fefffc4, 0x02f2f0040, - 0x0486e8549, + 0x0486e85d2, 0x0486f0008, 0x06100161a, 0x0487801b6, @@ -309,28 +317,28 @@ ulong bootcode[]={ 0x000644e75, 0x0598f4878, 0x00011486e, - 0x0854f6100, + 0x085d86100, 0x0194c4a80, 0x042e72f40, 0x0000a44df, 0x06d42486e, - 0x09dd66100, + 0x09fde6100, 0x01874588f, 0x02f00486e, - 0x09dd62f2f, + 0x09fde2f2f, 0x000106100, 0x019402f00, - 0x0486e9dd6, + 0x0486e9fde, 0x06100185a, 0x0588f221f, 0x0b280670a, - 0x0486e8557, + 0x0486e85e0, 0x0610017ac, 0x0588f2f2f, 0x000146100, 0x018e04fef, 0x0001c4e75, - 0x0486e8567, + 0x0486e85f0, 0x061001794, 0x04feffff4, 0x060ec4fef, @@ -339,12 +347,12 @@ ulong bootcode[]={ 0x07073b082, 0x066000088, 0x02f360162, - 0x080320004, - 0x0486e8574, + 0x080320010, + 0x0486e85fd, 0x0486f0008, 0x061001542, 0x01f760162, - 0x080320010, + 0x08032001c, 0x0010c422f, 0x0010d4878, 0x00004486f, @@ -381,19 +389,19 @@ ulong bootcode[]={ 0x0000c6100, 0x00bbe2f00, 0x02f400014, - 0x0486e858c, + 0x0486e8615, 0x0610006ee, 0x02f2f0018, - 0x0486e9c22, + 0x0486e9caa, 0x0610006e2, - 0x0486e8594, - 0x0486e8593, + 0x0486e861d, + 0x0486e861c, 0x048780006, - 0x0486e8591, + 0x0486e861a, 0x02f2f0030, 0x061001800, 0x04a806c0a, - 0x0486e8595, + 0x0486e861e, 0x061000cf4, 0x0588f2f2f, 0x000346100, @@ -404,19 +412,19 @@ ulong bootcode[]={ 0x0003c4e75, 0x04fefff04, 0x0486f007c, - 0x0486e859b, + 0x0486e8624, 0x0610027a4, 0x04a806c1c, 0x04aaf0108, 0x0670e486e, - 0x085a04878, + 0x086294878, 0x000026100, 0x013c8508f, 0x070ff4fef, 0x001044e75, 0x02f360162, - 0x08032000c, - 0x0486e85b1, + 0x080320018, + 0x0486e863a, 0x0486f0010, 0x061001412, 0x0486f0090, @@ -426,32 +434,32 @@ ulong bootcode[]={ 0x04aaf011c, 0x06714486f, 0x0001c486e, - 0x085b64878, + 0x0863f4878, 0x000026100, 0x013844fef, 0x0000c70ff, 0x04fef0118, 0x04e75486e, - 0x085cf6100, + 0x086586100, 0x0130842a7, - 0x0486e85db, - 0x0486e85d8, + 0x0486e8664, + 0x0486e8661, 0x06100171c, 0x04a806c0a, - 0x0486e85e0, + 0x0486e8669, 0x061000c40, 0x0588f42a7, - 0x0486e85eb, - 0x0486e85e8, + 0x0486e8674, + 0x0486e8671, 0x061001700, 0x04a806c0a, - 0x0486e85f1, + 0x0486e867a, 0x061000c24, 0x0588f486f, 0x001286100, 0x016f04a80, 0x06c0a486e, - 0x085f96100, + 0x086826100, 0x00c0e588f, 0x061001702, 0x04fef003c, @@ -463,19 +471,19 @@ ulong bootcode[]={ 0x0610016ce, 0x04aaf0104, 0x067502f7c, - 0x000006625, + 0x0000086ae, 0x0003c2f2f, 0x000f4486e, - 0x086296100, + 0x086b26100, 0x0059c486e, - 0x0862f486e, - 0x0862e4878, + 0x086b8486e, + 0x086b74878, 0x000062f2f, 0x000502f2f, 0x0010c6100, 0x016ba4a80, 0x06c0a486e, - 0x086306100, + 0x086b96100, 0x00bae588f, 0x042a76100, 0x006142f2f, @@ -483,39 +491,39 @@ ulong bootcode[]={ 0x016804280, 0x04fef0124, 0x04e75207c, - 0x000006634, - 0x0486e863e, - 0x0486e863d, + 0x0000086bd, + 0x0486e86c7, + 0x0486e86c6, 0x048780006, 0x02f082f2f, 0x001046100, 0x0167a4a80, 0x04feffff4, 0x06ccc486e, - 0x0863f6100, + 0x086c86100, 0x00b6a588f, 0x060c02f2f, 0x000f0486e, - 0x08603486f, + 0x0868c486f, 0x000646100, 0x012d42f2f, 0x00100486e, - 0x08606486f, + 0x0868f486f, 0x000506100, 0x012c442a7, 0x0486f0058, 0x0486f007c, - 0x0486e8615, + 0x0486e869e, 0x0486f0028, - 0x0486e8612, - 0x0486e860e, - 0x0486e8609, + 0x0486e869b, + 0x0486e8697, + 0x0486e8692, 0x0610013f4, - 0x0486e8618, + 0x0486e86a1, 0x061000b1c, 0x04fef003c, 0x06000ff22, - 0x0486e85fe, + 0x0486e8687, 0x061000b0c, 0x0588f60a2, 0x04fefffcc, @@ -523,13 +531,13 @@ ulong bootcode[]={ 0x066186100, 0x010244878, 0x0001c486e, - 0x09c22486e, - 0x086456100, + 0x09caa486e, + 0x086ce6100, 0x00b144fef, 0x0000c2ebc, - 0x000007c20, + 0x000009ca8, 0x0227c0000, - 0x061144a91, + 0x0815c4a91, 0x067202f17, 0x02f112f49, 0x000286100, @@ -539,7 +547,7 @@ ulong bootcode[]={ 0x07004d089, 0x02f400008, 0x0508f2f17, - 0x0486e864c, + 0x0486e86d5, 0x06100115a, 0x0222f0008, 0x041ef0024, @@ -552,44 +560,44 @@ ulong bootcode[]={ 0x04aae8022, 0x0660000b2, 0x048780002, - 0x0486e8658, + 0x0486e86e1, 0x06100157e, 0x04a806c10, - 0x0486e8661, + 0x0486e86ea, 0x061000a48, 0x070ff4fef, 0x000484e75, 0x04878000d, - 0x0486e8672, + 0x0486e86fb, 0x02f002f40, 0x0004c6100, 0x01570222f, 0x0004c4a80, 0x06c162f01, 0x061001526, - 0x0486e8680, + 0x0486e8709, 0x061000a18, 0x070ff4fef, 0x000584e75, 0x04878000c, - 0x0486e868e, + 0x0486e8717, 0x02f016100, 0x01544222f, 0x000584a80, 0x06c162f01, 0x0610014fa, - 0x0486e869b, + 0x0486e8724, 0x0610009ec, 0x070ff4fef, 0x000644e75, 0x04878000c, - 0x0486e86a8, + 0x0486e8731, 0x02f016100, 0x015184a80, 0x06c182f2f, 0x000646100, 0x014d0486e, - 0x086b56100, + 0x0873e6100, 0x009c270ff, 0x04fef0070, 0x04e757001, @@ -602,24 +610,24 @@ ulong bootcode[]={ 0x070ff4fef, 0x000444e75, 0x048780002, - 0x0486e86c2, + 0x0486e874b, 0x0610014b6, 0x04a8042e7, 0x02f400042, 0x044df6c10, - 0x0486e86d1, + 0x0486e875a, 0x061000978, 0x070ff4fef, 0x000504e75, 0x048780002, - 0x0486e86e8, + 0x0486e8771, 0x06100148e, 0x04a8042e7, 0x02f40004e, 0x044df6c18, 0x02f2f0048, 0x061001456, - 0x0486e86f6, + 0x0486e877f, 0x061000948, 0x070ff4fef, 0x0005c4e75, @@ -639,9 +647,9 @@ ulong bootcode[]={ 0x070ff4fef, 0x0006c4e75, 0x02d7c0000, - 0x0670a800e, + 0x08793800e, 0x02d7c0000, - 0x06710803e, + 0x08799803e, 0x0202f0054, 0x04fef0060, 0x04e752f01, @@ -660,12 +668,12 @@ ulong bootcode[]={ 0x000000018, 0x0508f6000, 0x0fdfa486e, - 0x0871a2f2f, + 0x087a32f2f, 0x000086100, 0x00872206f, 0x0000c4aae, 0x08006673a, - 0x0486e8725, + 0x0486e87ae, 0x02f086100, 0x0085e6100, 0x013a84fef, @@ -680,36 +688,36 @@ ulong bootcode[]={ 0x06100139a, 0x0588f60f2, 0x060ee486e, - 0x0873b2f08, + 0x087c42f08, 0x061000824, 0x060c44fef, 0x0fff02f2f, 0x00014486e, - 0x0874f486e, - 0x08ba66100, + 0x087d8486e, + 0x08c2e6100, 0x00fe0486e, - 0x08ba66100, + 0x08c2e6100, 0x0129c2f40, 0x0001042af, 0x000144878, 0x00002486e, - 0x0875a6100, + 0x087e36100, 0x0134c4a80, 0x042e72f40, 0x0002644df, 0x06c0a486e, - 0x087676100, + 0x087f06100, 0x00832588f, 0x048780002, - 0x0486e8779, + 0x0486e8802, 0x06100132a, 0x02f400028, 0x04aaf0028, 0x06c0a486e, - 0x087856100, + 0x0880e6100, 0x00812588f, 0x02f2f0020, - 0x0486e8ba6, + 0x0486e8c2e, 0x02f2f0030, 0x06100131e, 0x0b0af002c, @@ -730,15 +738,15 @@ ulong bootcode[]={ 0x052af003c, 0x04fef0028, 0x06000ff68, - 0x0486e8799, + 0x0486e8822, 0x02f2f0038, 0x061000758, 0x02f2f003c, 0x061001286, 0x02d7c0000, - 0x0679c800e, + 0x08825800e, 0x02d7c0000, - 0x0679f803e, + 0x08828803e, 0x0202f0044, 0x04fef0048, 0x04e75518f, @@ -746,25 +754,25 @@ ulong bootcode[]={ 0x066186100, 0x00ca84878, 0x0001c486e, - 0x09c22486e, - 0x087a46100, + 0x09caa486e, + 0x0882d6100, 0x007984fef, 0x0000c4878, 0x00002486e, - 0x087ab6100, + 0x088346100, 0x012642f40, 0x000084aaf, 0x000086c0a, - 0x0486e87b2, + 0x0486e883b, 0x06100074c, 0x0588f2f2f, 0x000086100, 0x0fe72486e, - 0x09c226100, + 0x09caa6100, 0x0fec64a80, 0x06d064fef, 0x000184e75, - 0x0486e87c1, + 0x0486e884a, 0x061000dd6, 0x0487803e8, 0x061001232, @@ -774,13 +782,13 @@ ulong bootcode[]={ 0x080066618, 0x061000c36, 0x04878001c, - 0x0486e9c22, - 0x0486e87dd, + 0x0486e9caa, + 0x0486e8866, 0x061000726, 0x04fef000c, 0x02f360162, - 0x080320008, - 0x0486e87e4, + 0x080320014, + 0x0486e886d, 0x0486f0008, 0x061000e62, 0x048780002, @@ -795,8 +803,8 @@ ulong bootcode[]={ 0x02f2f003c, 0x061000664, 0x02f360162, - 0x080320008, - 0x0486e87ed, + 0x080320014, + 0x0486e8876, 0x0486f0024, 0x061000e22, 0x048780002, @@ -811,17 +819,17 @@ ulong bootcode[]={ 0x061000a42, 0x02f2f0054, 0x061001156, - 0x0486e87f3, + 0x0486e887c, 0x02f2f0060, 0x061000614, 0x02f2f0064, 0x06100fd90, - 0x0486e9c22, + 0x0486e9caa, 0x06100fde4, 0x04a806d06, 0x04fef0074, 0x04e75486e, - 0x087fe6100, + 0x088876100, 0x00cf44878, 0x003e86100, 0x011504fef, @@ -832,34 +840,34 @@ ulong bootcode[]={ 0x010b82400, 0x06700008a, 0x052822f02, - 0x0486e881a, - 0x0486e8ba6, + 0x0486e88a3, + 0x0486e8c2e, 0x061000d92, 0x0487801b6, 0x048780001, - 0x0486e8ba6, + 0x0486e8c2e, 0x0610010ec, 0x04a8042e7, 0x02f400022, 0x044df6c0a, - 0x0486e8820, + 0x0486e88a9, 0x0610005f0, 0x0588f2f2f, 0x00030486e, - 0x08827486e, - 0x08ba66100, + 0x088b0486e, + 0x08c2e6100, 0x00d5c486e, - 0x08ba66100, + 0x08c2e6100, 0x01018588f, 0x02f00486e, - 0x08ba62f2f, + 0x08c2e2f2f, 0x000346100, 0x010e42f00, - 0x0486e8ba6, + 0x0486e8c2e, 0x061000ffe, 0x0588f221f, 0x0b280670a, - 0x0486e882a, + 0x0486e88b3, 0x0610005ac, 0x0588f2f2f, 0x000386100, @@ -868,12 +876,12 @@ ulong bootcode[]={ 0x0242f0014, 0x06000ff74, 0x04fefff0c, - 0x0486e8830, + 0x0486e88b9, 0x061000c36, 0x04aaf00fc, 0x066504878, 0x00002486e, - 0x088386100, + 0x088c16100, 0x0107c4a80, 0x06d00015a, 0x048780073, @@ -884,7 +892,7 @@ ulong bootcode[]={ 0x042e72f40, 0x0010a44df, 0x06c0e486e, - 0x0883f6100, + 0x088c86100, 0x0054a222f, 0x0010c588f, 0x042371920, @@ -895,14 +903,14 @@ ulong bootcode[]={ 0x000fc6700, 0x000de4878, 0x00002486e, - 0x0884b6100, + 0x088d46100, 0x010244a80, 0x06c064fef, 0x001004e75, - 0x0486e885c, - 0x0486e885b, + 0x0486e88e5, + 0x0486e88e4, 0x042a7486e, - 0x088532f00, + 0x088dc2f00, 0x02f40010c, 0x061000ffc, 0x0206f010c, @@ -913,23 +921,23 @@ ulong bootcode[]={ 0x02f086100, 0x00fc4486f, 0x00028486e, - 0x0885d6100, + 0x088e66100, 0x00fee4a80, 0x06c0a486e, - 0x088656100, + 0x088ee6100, 0x004ca588f, 0x0486f00a4, 0x0486f0034, 0x061001066, 0x02f2f010c, - 0x0486e886a, + 0x0486e88f3, 0x0486f0040, 0x061000c2a, - 0x0486e886e, + 0x0486e88f7, 0x042a76100, 0x01fae4878, 0x00002486e, - 0x088766100, + 0x088ff6100, 0x00f9c2f40, 0x0013c4aaf, 0x0013c6f32, @@ -940,7 +948,7 @@ ulong bootcode[]={ 0x02f2f0144, 0x061000f92, 0x04a806c0a, - 0x0486e887d, + 0x0486e8906, 0x061000468, 0x0588f2f2f, 0x001486100, @@ -950,7 +958,7 @@ ulong bootcode[]={ 0x00f344fef, 0x000504878, 0x00001486e, - 0x088896100, + 0x089126100, 0x00f482f40, 0x000f8486f, 0x000106100, @@ -967,7 +975,7 @@ ulong bootcode[]={ 0x06000fedc, 0x0598f4878, 0x01000486e, - 0x08ba62f2f, + 0x08c2e2f2f, 0x000106100, 0x00f062200, 0x07002b081, @@ -975,172 +983,172 @@ ulong bootcode[]={ 0x0091870ff, 0x04fef0010, 0x04e75422e, - 0x08ba8486e, - 0x08891486e, - 0x08ba66100, + 0x08c30486e, + 0x0891a486e, + 0x08c2e6100, 0x00de44a80, 0x066084280, 0x04fef0018, 0x04e75486e, - 0x08894486e, - 0x08ba66100, + 0x0891d486e, + 0x08c2e6100, 0x00dcc4a80, 0x06634486e, - 0x09dba486e, - 0x09dd6486e, - 0x08897486e, - 0x08ba66100, + 0x09fc2486e, + 0x09fde486e, + 0x08920486e, + 0x08c2e6100, 0x00b24486e, - 0x08ba66100, + 0x08c2e6100, 0x00de0588f, 0x02f00486e, - 0x08ba62f2f, + 0x08c2e2f2f, 0x0003c6100, 0x00eac4fef, 0x000386000, 0x0ff7e486e, - 0x0889e486e, - 0x08ba66100, + 0x08927486e, + 0x08c2e6100, 0x00d884a80, 0x04fef0024, 0x06600ff68, 0x061000896, - 0x0486e9dba, - 0x0486e9dd6, - 0x0486e88a1, - 0x0486e8ba6, + 0x0486e9fc2, + 0x0486e9fde, + 0x0486e892a, + 0x0486e8c2e, 0x061000ad6, - 0x0486e8ba6, + 0x0486e8c2e, 0x061000d92, 0x0588f2f00, - 0x0486e8ba6, + 0x0486e8c2e, 0x02f2f0020, 0x061000e5e, 0x04fef001c, 0x06000ff30, 0x0598f486e, - 0x088a86100, + 0x089316100, 0x009dc1d7c, - 0x000329ba6, + 0x000329c2e, 0x03d7cffff, - 0x09baa486e, - 0x08ba6486e, - 0x09ba66100, + 0x09c32486e, + 0x08c2e486e, + 0x09c2e6100, 0x017102f00, 0x02f400010, - 0x0486e8ba6, + 0x0486e8c2e, 0x02f2f001c, 0x061000e22, 0x0b0af0018, 0x0670a486e, - 0x088af6100, + 0x089386100, 0x002f6588f, 0x048781000, - 0x0486e8ba6, + 0x0486e8c2e, 0x02f2f0028, 0x061000df0, 0x022007002, 0x0b0816608, 0x00c2e004f, - 0x08ba6677c, + 0x08c2e677c, 0x04a8142e7, 0x02f410026, 0x044df6e0e, - 0x0486e88b9, + 0x0486e8942, 0x0610002c0, 0x0222f0028, 0x0588f2f01, - 0x0486e9ba6, - 0x0486e8ba6, + 0x0486e9c2e, + 0x0486e8c2e, 0x061000fea, 0x04a806638, - 0x0102e8ba9, + 0x0102e8c31, 0x049c02f00, - 0x0102e8ba8, + 0x0102e8c30, 0x049c02f00, - 0x0102e8ba7, + 0x0102e8c2f, 0x049c02f00, - 0x0102e8ba6, + 0x0102e8c2e, 0x049c02f00, 0x02f2f0040, - 0x0486e88c2, + 0x0486e894b, 0x06100092a, - 0x0486e88e9, + 0x0486e8972, 0x061000274, 0x04fef001c, 0x00c2e0033, - 0x09ba6670a, - 0x0486e88f4, + 0x09c2e670a, + 0x0486e897d, 0x061000260, 0x0588f4fef, 0x000344e75, 0x00c2e004b, - 0x08ba76600, + 0x08c2f6600, 0x0ff7c4878, 0x01000486e, - 0x08ba62f2f, + 0x08c2e2f2f, 0x000346100, 0x00d4a2200, 0x04fef000c, 0x06000ff62, 0x0598f486e, - 0x088fd6100, + 0x089866100, 0x008d81d7c, - 0x000349ba6, + 0x000349c2e, 0x03d7cffff, - 0x09baa486e, - 0x08ba6486e, - 0x09ba66100, + 0x09c32486e, + 0x08c2e486e, + 0x09c2e6100, 0x0160c2f00, 0x02f400010, - 0x0486e8ba6, + 0x0486e8c2e, 0x02f2f001c, 0x061000d1e, 0x0b0af0018, 0x0670a486e, - 0x089086100, + 0x089916100, 0x001f2588f, 0x048781000, - 0x0486e8ba6, + 0x0486e8c2e, 0x02f2f0028, 0x061000cec, 0x02f400024, 0x04aaf0024, 0x06e0a486e, - 0x089166100, + 0x0899f6100, 0x001ce588f, 0x02f2f0024, - 0x0486e9ba6, - 0x0486e8ba6, + 0x0486e9c2e, + 0x0486e8c2e, 0x061000efa, 0x04a80660a, - 0x0486e8923, + 0x0486e89ac, 0x0610001b0, 0x0588f0c2e, - 0x000379ba6, + 0x000379c2e, 0x06618486e, - 0x09bac486e, - 0x089326100, + 0x09c34486e, + 0x089bb6100, 0x00848486e, - 0x09bac6100, + 0x09c346100, 0x001924fef, 0x0000c0c2e, - 0x000359ba6, + 0x000359c2e, 0x0670a486e, - 0x0893c6100, + 0x089c56100, 0x0017e588f, 0x04fef0034, 0x04e754fef, 0x0ff48486f, 0x00038486e, - 0x089496100, + 0x089d26100, 0x01c424a80, 0x06c0a202f, 0x000c44fef, 0x000c04e75, 0x02f360162, - 0x08032000c, - 0x0486e894e, + 0x080320018, + 0x0486e89d7, 0x0486f0010, 0x0610008c2, 0x0486f004c, @@ -1150,12 +1158,12 @@ ulong bootcode[]={ 0x0202f00d8, 0x04fef00d4, 0x04e75486e, - 0x089566100, + 0x089df6100, 0x007d0486f, 0x000cc6100, 0x00bf04a80, 0x06c0a486e, - 0x0895d6100, + 0x089e66100, 0x0010e588f, 0x061000c02, 0x04fef0024, @@ -1186,21 +1194,21 @@ ulong bootcode[]={ 0x080366720, 0x042a7486f, 0x00020486e, - 0x08978486e, - 0x08974486e, - 0x0896c486e, - 0x089676100, + 0x08a01486e, + 0x089fd486e, + 0x089f5486e, + 0x089f06100, 0x009564fef, 0x0003460a2, 0x042a7486f, 0x00020486e, - 0x0898b486e, - 0x08988486e, - 0x08980486e, - 0x0897b6100, + 0x08a14486e, + 0x08a11486e, + 0x08a09486e, + 0x08a046100, 0x009364fef, 0x000346082, - 0x0486e8962, + 0x0486e89eb, 0x06158588f, 0x06082598f, 0x02f2f000c, @@ -1219,7 +1227,7 @@ ulong bootcode[]={ 0x061000bc0, 0x0486f0004, 0x02f2f004c, - 0x0486e898e, + 0x0486e8a17, 0x048780002, 0x06100071e, 0x04fef0054, @@ -1228,7 +1236,7 @@ ulong bootcode[]={ 0x061000b9c, 0x0486f0004, 0x02f2f004c, - 0x0486e899c, + 0x0486e8a25, 0x048780002, 0x0610006fa, 0x042a76100, @@ -1237,7 +1245,7 @@ ulong bootcode[]={ 0x04feffefc, 0x02f2f010c, 0x02f2f010c, - 0x0486e89aa, + 0x0486e8a33, 0x061000672, 0x02f2f011c, 0x0486f0010, @@ -1247,7 +1255,7 @@ ulong bootcode[]={ 0x067da42e7, 0x02f400102, 0x044df6c0c, - 0x0486e89b3, + 0x0486e8a3c, 0x0619c222f, 0x00104588f, 0x07001b081, @@ -1261,28 +1269,28 @@ ulong bootcode[]={ 0x001044e75, 0x04fefffb4, 0x042a7486e, - 0x089d56100, + 0x08a5e6100, 0x00a6c4a80, 0x06c10486e, - 0x089de6100, + 0x08a676100, 0x008fe70ff, 0x04fef0058, 0x04e754878, 0x01000486e, - 0x08ba62f00, + 0x08c2e2f00, 0x02f400058, 0x061000a4c, 0x04a806c10, - 0x0486e89f1, + 0x0486e8a7a, 0x0610008d8, 0x070ff4fef, 0x000644e75, - 0x0486e8a01, - 0x0486e8ba6, + 0x0486e8a8a, + 0x0486e8c2e, 0x061000a44, 0x022404a80, 0x06610486e, - 0x08a076100, + 0x08a906100, 0x005c070ff, 0x04fef006c, 0x04e755c89, @@ -1318,54 +1326,54 @@ ulong bootcode[]={ 0x02f086100, 0x007944878, 0x00001486e, - 0x08a1d6100, + 0x08aa66100, 0x009884a80, 0x042e72f40, 0x0008644df, 0x06c10486e, - 0x08a266100, + 0x08aaf6100, 0x0081270ff, 0x04fef0090, 0x04e754878, 0x00002486e, - 0x08a346100, + 0x08abd6100, 0x009604a80, 0x042e72f40, 0x0009244df, 0x06c10486e, - 0x08a3e6100, + 0x08ac76100, 0x007ea70ff, 0x04fef0098, 0x04e754878, 0x0000e486e, - 0x08a4d2f2f, + 0x08ad62f2f, 0x000946100, 0x0094c4a80, 0x06c10486e, - 0x08a5b6100, + 0x08ae46100, 0x007c670ff, 0x04fef00a4, 0x04e752f7c, - 0x000006ba4, + 0x000008c2c, 0x00060486e, - 0x08a636100, + 0x08aec6100, 0x004b84878, 0x0002c486f, 0x0006c2f2f, 0x000a86100, 0x009184a80, 0x06c10486e, - 0x08a686100, + 0x08af16100, 0x0079270ff, 0x04fef00b4, 0x04e754878, 0x00640486e, - 0x08ba62f2f, + 0x08c2e2f2f, 0x000b46100, 0x008e2226f, 0x0007c4a80, 0x06c10486e, - 0x08a726100, + 0x08afb6100, 0x0076a70ff, 0x04fef00c0, 0x04e750c29, @@ -1375,7 +1383,7 @@ ulong bootcode[]={ 0x067164878, 0x001f46100, 0x008b8486e, - 0x08ac26100, + 0x08b4b6100, 0x0044c4fef, 0x00020608e, 0x04a290014, @@ -1404,23 +1412,23 @@ ulong bootcode[]={ 0x02f004280, 0x010290016, 0x02f00486e, - 0x08a7d2f2f, + 0x08b062f2f, 0x000e06100, 0x004a42f2f, 0x000e4486e, - 0x08a9e6100, + 0x08b276100, 0x003c82f2f, 0x000e06100, 0x007f42f2f, 0x000e06100, 0x007ec4878, 0x00001486e, - 0x08aa26100, + 0x08b2b6100, 0x008044a80, 0x042e72f40, 0x000f244df, 0x06c10486e, - 0x08aaa6100, + 0x08b336100, 0x0068e70ff, 0x04fef00f8, 0x04e754878, @@ -1442,7 +1450,7 @@ ulong bootcode[]={ 0x001144a80, 0x06c162f09, 0x06100077a, - 0x0486e8ab8, + 0x0486e8b41, 0x061000634, 0x070ff4fef, 0x001204e75, @@ -1466,7 +1474,7 @@ ulong bootcode[]={ 0x04fef000c, 0x06000fd3a, 0x04fefff70, - 0x0486e8ac4, + 0x0486e8b4d, 0x0610002de, 0x061000726, 0x02f40000c, @@ -1475,12 +1483,12 @@ ulong bootcode[]={ 0x000fc4281, 0x0b2806700, 0x0009842a7, - 0x0486e8b01, + 0x0486e8b8a, 0x061000712, 0x02f400008, 0x04aaf0008, 0x06c0a486e, - 0x08b0a6100, + 0x08b936100, 0x0fbfa588f, 0x048780001, 0x0486f001c, @@ -1503,7 +1511,7 @@ ulong bootcode[]={ 0x02f2f0008, 0x06100068a, 0x0486f001c, - 0x0486e8b18, + 0x0486e8ba1, 0x06100024a, 0x04fef0014, 0x0518f609c, @@ -1520,7 +1528,7 @@ ulong bootcode[]={ 0x0486f001c, 0x061000708, 0x0486f0020, - 0x0486e8ae7, + 0x0486e8b70, 0x061000206, 0x060fe4282, 0x0b4836c18, @@ -1535,19 +1543,19 @@ ulong bootcode[]={ 0x000016100, 0x006484fef, 0x0001860a4, - 0x0486e8adb, + 0x0486e8b64, 0x06100fb1c, 0x0588f6098, 0x04fefffdc, 0x02f2f0028, - 0x0486e8b33, + 0x0486e8bbc, 0x0486f000c, 0x061000282, 0x048780001, 0x0486f0014, 0x0610005fe, 0x048780003, - 0x0486e8b41, + 0x0486e8bca, 0x02f002f40, 0x000206100, 0x006042f2f, @@ -1556,14 +1564,14 @@ ulong bootcode[]={ 0x000484e75, 0x04fefff74, 0x042a7486e, - 0x08b456100, + 0x08bce6100, 0x005d04a80, 0x042e72f40, 0x0001244df, 0x06c0a486e, - 0x08b4e6100, + 0x08bd76100, 0x0fab6588f, - 0x0486e8b71, + 0x0486e8bfa, 0x06100015a, 0x042af0018, 0x048780001, @@ -1573,7 +1581,7 @@ ulong bootcode[]={ 0x02f400028, 0x04aaf0028, 0x06c0a486e, - 0x08b7c6100, + 0x08c056100, 0x0fa86588f, 0x04aaf0028, 0x04fef000c, @@ -1587,7 +1595,7 @@ ulong bootcode[]={ 0x06748202f, 0x0000c1daf, 0x000140920, - 0x09dba52af, + 0x09fc252af, 0x0000c0c2f, 0x0000a0014, 0x06710701c, @@ -1596,14 +1604,14 @@ ulong bootcode[]={ 0x06e924fef, 0x0000c202f, 0x0000c4236, - 0x009209dba, + 0x009209fc2, 0x02f2f0008, 0x061000506, - 0x0486e8ba1, + 0x0486e8c2a, 0x0610000ca, 0x04fef0094, 0x04e75486e, - 0x08b9f6100, + 0x08c286100, 0x000bc598f, 0x06000ff56, 0x060b84aaf, @@ -1613,9 +1621,9 @@ ulong bootcode[]={ 0x042817021, 0x0b0816f1e, 0x04ab61d20, - 0x09c5a660e, + 0x09ce2660e, 0x02daf0008, - 0x01d209c5a, + 0x01d209ce2, 0x07001588f, 0x04e755281, 0x07021b081, @@ -1625,10 +1633,10 @@ ulong bootcode[]={ 0x000084282, 0x07021b082, 0x06f182036, - 0x02d209c5a, + 0x02d209ce2, 0x0b0886606, 0x042b62d20, - 0x09c5a5282, + 0x09ce25282, 0x07021b082, 0x06ee8588f, 0x04e754aaf, @@ -1640,10 +1648,10 @@ ulong bootcode[]={ 0x0518f7220, 0x04a816d22, 0x02eb61d20, - 0x09c5a4a97, + 0x09ce24a97, 0x067122f41, 0x0000442b6, - 0x01d209c5a, + 0x01d209ce2, 0x04eb70151, 0x0222f0004, 0x053814a81, @@ -1659,7 +1667,7 @@ ulong bootcode[]={ 0x0d1fc0000, 0x010002f08, 0x0486f0014, - 0x061001554, + 0x061001536, 0x0220041ef, 0x000189288, 0x02f01486f, @@ -1685,7 +1693,7 @@ ulong bootcode[]={ 0x0d1fc0000, 0x010002f08, 0x0486f0014, - 0x0610014ec, + 0x0610014ce, 0x0220041ef, 0x000189288, 0x02f01486f, @@ -1710,7 +1718,7 @@ ulong bootcode[]={ 0x02f082f2f, 0x000144869, 0x010002f09, - 0x061001488, + 0x06100146a, 0x02d6f0010, 0x0802a90af, 0x0001c4fef, @@ -1848,13 +1856,13 @@ ulong bootcode[]={ 0x067044a10, 0x06616486f, 0x00004486e, - 0x081ae4878, + 0x081f64878, 0x000026100, 0x0fd4c4fef, 0x000504e75, 0x0486f0004, 0x02f08486e, - 0x081a64878, + 0x081ee4878, 0x000026100, 0x0fd34588f, 0x060e4206f, @@ -1975,20 +1983,20 @@ ulong bootcode[]={ 0x0001c2f08, 0x02f480008, 0x02f2f0014, - 0x061001f2a, + 0x061002024, 0x0701cd1af, 0x0000c4878, 0x0001c2f2f, 0x000104877, 0x001620020, 0x0001c6100, - 0x01f10701c, + 0x0200a701c, 0x0d1af0018, 0x04878001c, 0x02f2f001c, 0x048770162, 0x0002c0038, - 0x061001ef6, + 0x061001ff0, 0x0226f0030, 0x0206f0024, 0x0701cd1c0, @@ -2084,7 +2092,7 @@ ulong bootcode[]={ 0x06d107253, 0x0b0016e0a, 0x030360b20, - 0x082024efb, + 0x082524efb, 0x000004280, 0x0588f4e75, 0x042801010, @@ -2096,7 +2104,7 @@ ulong bootcode[]={ 0x02f082f48, 0x000084869, 0x000226100, - 0x01d48206f, + 0x01e42206f, 0x0000c701e, 0x0d1c04fef, 0x0000c202f, @@ -2115,13 +2123,13 @@ ulong bootcode[]={ 0x02f082f48, 0x000084869, 0x000066100, - 0x01cfc701c, + 0x01df6701c, 0x0d1af000c, 0x048780024, 0x02f2f0010, 0x048770162, 0x000200022, - 0x061001ce2, + 0x061001ddc, 0x0206f0018, 0x07024d1c0, 0x04fef0018, @@ -2167,7 +2175,7 @@ ulong bootcode[]={ 0x0001c2f08, 0x02f480008, 0x04869000c, - 0x061001c2a, + 0x061001d24, 0x0206f000c, 0x0701cd1c0, 0x04fef000c, @@ -2187,7 +2195,7 @@ ulong bootcode[]={ 0x02f082f48, 0x000084869, 0x000066100, - 0x01bdc206f, + 0x01cd6206f, 0x0000c7074, 0x0d1c04fef, 0x0000c6000, @@ -2200,7 +2208,7 @@ ulong bootcode[]={ 0x000742f08, 0x02f480008, 0x048690006, - 0x061001ba6, + 0x061001ca0, 0x0206f000c, 0x07074d1c0, 0x04fef000c, @@ -2344,7 +2352,7 @@ ulong bootcode[]={ 0x02f082f48, 0x000084869, 0x0000c6100, - 0x01968226f, + 0x01a62226f, 0x00018206f, 0x0000c701c, 0x0d1c04280, @@ -2406,7 +2414,7 @@ ulong bootcode[]={ 0x0001c2f08, 0x02f480008, 0x04869000c, - 0x06100186e, + 0x061001968, 0x0206f000c, 0x0701cd1c0, 0x04fef000c, @@ -2465,20 +2473,20 @@ ulong bootcode[]={ 0x02f082f48, 0x000084869, 0x000066100, - 0x01784701c, + 0x0187e701c, 0x0d1af000c, 0x04878001c, 0x02f2f0010, 0x048770162, 0x000200022, - 0x06100176a, + 0x061001864, 0x0701cd1af, 0x000184878, 0x0001c2f2f, 0x0001c4877, 0x00162002c, 0x0003e6100, - 0x01750206f, + 0x0184a206f, 0x00024701c, 0x0d1c04fef, 0x000246000, @@ -2493,7 +2501,7 @@ ulong bootcode[]={ 0x000402f08, 0x02f480008, 0x048690006, - 0x061001712, + 0x06100180c, 0x0206f000c, 0x07040d1c0, 0x04fef000c, @@ -2515,7 +2523,7 @@ ulong bootcode[]={ 0x06d107253, 0x0b0016e0a, 0x030360b20, - 0x082464efb, + 0x082964efb, 0x000004280, 0x0588f4e75, 0x030290002, @@ -2527,7 +2535,7 @@ ulong bootcode[]={ 0x048690022, 0x02f082f48, 0x0000c6100, - 0x0168c206f, + 0x01786206f, 0x0000c701e, 0x0d1c04fef, 0x0000c2008, @@ -2542,13 +2550,13 @@ ulong bootcode[]={ 0x048690006, 0x02f082f48, 0x0000c6100, - 0x01650701c, + 0x0174a701c, 0x0d1af000c, 0x048780024, 0x048770162, 0x000180022, 0x02f2f0014, - 0x061001636, + 0x061001730, 0x0206f0018, 0x07024d1c0, 0x04fef0018, @@ -2593,7 +2601,7 @@ ulong bootcode[]={ 0x0001c4869, 0x0000c2f08, 0x02f48000c, - 0x061001582, + 0x06100167c, 0x0206f000c, 0x0701cd1c0, 0x04fef000c, @@ -2613,7 +2621,7 @@ ulong bootcode[]={ 0x048690006, 0x02f082f48, 0x0000c6100, - 0x01534206f, + 0x0162e206f, 0x0000c7074, 0x0d1c04fef, 0x0000c6000, @@ -2626,7 +2634,7 @@ ulong bootcode[]={ 0x000744869, 0x000062f08, 0x02f48000c, - 0x0610014fe, + 0x0610015f8, 0x0206f000c, 0x07074d1c0, 0x04fef000c, @@ -2700,7 +2708,7 @@ ulong bootcode[]={ 0x02f29000e, 0x02f082f48, 0x0000c6100, - 0x013d8206f, + 0x014d2206f, 0x0000c2037, 0x001620014, 0x0000ad1c0, @@ -2720,7 +2728,7 @@ ulong bootcode[]={ 0x02f29000e, 0x02f082f48, 0x0000c6100, - 0x01388206f, + 0x01482206f, 0x0000c2037, 0x001620014, 0x0000ad1c0, @@ -2787,7 +2795,7 @@ ulong bootcode[]={ 0x04869000c, 0x02f082f48, 0x0000c6100, - 0x0127c226f, + 0x01376226f, 0x00014206f, 0x0000c701c, 0x0d1c02029, @@ -2848,7 +2856,7 @@ ulong bootcode[]={ 0x04869000c, 0x02f082f48, 0x0000c6100, - 0x01188206f, + 0x01282206f, 0x0000c701c, 0x0d1c04fef, 0x0000c6000, @@ -2905,20 +2913,20 @@ ulong bootcode[]={ 0x0001c4869, 0x000062f08, 0x02f48000c, - 0x0610010a2, + 0x06100119c, 0x0701cd1af, 0x0000c4878, 0x0001c4877, 0x001620018, 0x000222f2f, 0x000146100, - 0x01088701c, + 0x01182701c, 0x0d1af0018, 0x04878001c, 0x048770162, 0x00024003e, 0x02f2f0020, - 0x06100106e, + 0x061001168, 0x0206f0024, 0x0701cd1c0, 0x04fef0024, @@ -2934,7 +2942,7 @@ ulong bootcode[]={ 0x048690006, 0x02f082f48, 0x0000c6100, - 0x01030206f, + 0x0112a206f, 0x0000c7040, 0x0d1c04fef, 0x0000c6000, @@ -2956,1060 +2964,1249 @@ ulong bootcode[]={ 0x04fef0084, 0x04e757023, 0x04e404e75, - 0x02d7c0000, - 0x054d881ba, - 0x01d7c0001, - 0x09d491d7c, - 0x000019d4b, - 0x01d7c0001, - 0x09d411d7c, - 0x000019d86, - 0x01d7c0001, - 0x09d8a1d7c, - 0x000019d93, - 0x02d7c0000, - 0x0514881be, - 0x01d7c0002, - 0x09d821d7c, - 0x000029d8d, - 0x01d7c0002, - 0x09d961d7c, - 0x000029d76, - 0x02d7c0000, - 0x0552a81c2, - 0x01d7c0003, - 0x09d831d7c, - 0x000039d84, - 0x01d7c0003, - 0x09d851d7c, - 0x000039d63, - 0x01d7c0003, - 0x09d652d7c, - 0x00000547a, - 0x081c61d7c, - 0x000049d81, - 0x02d7c0000, - 0x054a081ca, - 0x01d7c0005, - 0x09d912d7c, - 0x0000054be, - 0x081ce1d7c, - 0x000069d43, - 0x070072d40, - 0x0800a4878, - 0x000804878, - 0x00001486e, - 0x09e0e6100, - 0x00e1c422e, - 0x09e0e422e, - 0x09e17422e, - 0x09e18422e, - 0x09e334fef, - 0x0000c4e75, - 0x04aae800a, - 0x066046100, - 0x0ff30022f, - 0x0007f0007, - 0x07028b0ae, - 0x0800a6e04, + 0x0598f4878, + 0x000a042a7, + 0x0486e81fe, + 0x061000fb8, + 0x072012dbc, + 0x0000055ee, + 0x01d2081fe, + 0x01d419dd1, + 0x01d419dd3, + 0x01d419dc9, + 0x01d419e0e, + 0x01d419e12, + 0x01d419e1b, + 0x052812dbc, + 0x0000051be, + 0x01d2081fe, + 0x01d419e0a, + 0x01d419e15, + 0x01d419e1e, + 0x01d419dfe, + 0x052812dbc, + 0x000005644, + 0x01d2081fe, + 0x01d419e0b, + 0x01d419e0c, + 0x01d419e0d, + 0x01d419deb, + 0x01d419ded, + 0x052812dbc, + 0x000005588, + 0x01d2081fe, + 0x01d419e09, + 0x052812dbc, + 0x0000055b6, + 0x01d2081fe, + 0x01d419e19, + 0x052812dbc, + 0x0000055d4, + 0x01d2081fe, + 0x01d419dcb, + 0x052812d41, + 0x0800a4fef, + 0x000104e75, + 0x0242e800a, + 0x066086100, + 0x0ff4c242e, + 0x0800a4aaf, + 0x000046d30, + 0x00caf0000, + 0x002000004, + 0x06c267028, + 0x0b0826e04, 0x070014e75, - 0x0202e800a, - 0x0122f0007, - 0x049c11d80, - 0x019209d1e, - 0x052ae800a, - 0x0122f0007, - 0x049c11036, - 0x019209d1e, - 0x049c02daf, - 0x000080d20, - 0x081b64280, - 0x04e754fef, - 0x0ffe42a2f, - 0x0002c226f, - 0x000282f6e, - 0x0801a0004, - 0x02eae802e, - 0x0266f0020, - 0x0202f0024, - 0x053802d40, - 0x0802e282e, - 0x0802e988b, - 0x042822002, - 0x0b4846c16, - 0x010312910, - 0x049c02600, - 0x0707fc083, - 0x04a360920, - 0x09e0e6600, - 0x00186d3c2, - 0x0d7c22d4b, - 0x0801a2002, - 0x0d5ae802a, - 0x0101949c0, - 0x024007025, - 0x0b082675e, - 0x04a826626, - 0x0b7ee802e, - 0x06506266e, - 0x0802e538b, - 0x0b7ee802e, - 0x064024213, - 0x02d6f0004, - 0x0801a2d57, - 0x0802e200b, - 0x04fef001c, - 0x04e75b7ee, - 0x0802e6402, - 0x016c252ae, - 0x0802a700a, - 0x0b0826606, - 0x042ae802a, - 0x060807009, - 0x0b0826600, - 0x0ff7a7007, - 0x0d0ae802a, - 0x0c0bcffff, - 0x0fff82d40, - 0x0802a6000, - 0x0ff66347c, - 0x0fc182f7c, + 0x02daf0008, + 0x02d2081fe, + 0x0222f0004, + 0x01d821920, + 0x09da65282, + 0x02d42800a, + 0x042804e75, + 0x070014e75, + 0x04fefffe0, + 0x02f6e801a, + 0x000042eae, + 0x0802e2d6f, + 0x00024801a, + 0x0202f0028, + 0x059802d40, + 0x0802e1037, + 0x00161002c, + 0x0c0bc0000, + 0x000ff2400, + 0x0707fb082, + 0x06c00020e, + 0x0486f0008, + 0x02f2f0030, + 0x0610010d0, + 0x02400202f, + 0x00010d1af, + 0x000342002, + 0x0508f4281, + 0x0b2826700, + 0x001d27209, + 0x0b2826700, + 0x001b6720a, + 0x0b2826700, + 0x001a67225, + 0x0b2826736, + 0x052ae802a, + 0x0202e801a, + 0x0b0ae802e, + 0x064a4707f, + 0x0b0826d0e, + 0x020021d82, + 0x00161801a, + 0x052ae801a, + 0x060902f02, + 0x02f2e801a, + 0x061000fe6, + 0x02d40801a, + 0x0508f6000, + 0x0ff7e2f7c, 0x0fffffc18, - 0x0001442af, - 0x000101019, - 0x049c02400, - 0x02f490028, - 0x04a826606, - 0x053896000, - 0x0ff42702e, - 0x0b0826610, - 0x0b4fcfc18, - 0x06604347c, - 0x0000042af, - 0x0001460d6, + 0x0001c2f7c, + 0x0fffffc18, + 0x0001842af, + 0x000141037, + 0x00161002c, + 0x0c0bc0000, + 0x000ff2400, + 0x0707fb082, + 0x06c000136, + 0x0486f0008, + 0x02f2f0030, + 0x061001038, + 0x02400202f, + 0x00010d1af, + 0x000344a82, + 0x0660a53af, + 0x00034508f, + 0x06000ff30, + 0x0702eb082, + 0x066160caf, + 0x0fffffc18, + 0x000246604, + 0x042af0024, + 0x042af0020, + 0x0508f60aa, 0x07031b082, - 0x06e467039, - 0x0b0826d40, + 0x06e507039, + 0x0b0826d4a, 0x042837030, 0x0b0826e06, 0x07039b082, - 0x06c10b4fc, - 0x0fc186604, - 0x0244360bc, - 0x02f430014, - 0x060b62003, - 0x02203d281, - 0x0d281d081, - 0x0d080d082, - 0x090bc0000, - 0x000302600, - 0x0101949c0, - 0x024002f49, - 0x0002860c2, - 0x07030b082, - 0x06606b4fc, - 0x0fc1866b4, - 0x0702ab082, - 0x0661c2430, - 0x059905885, - 0x02005b4fc, - 0x0fc186606, - 0x024426000, - 0x0ff662f42, - 0x000146000, - 0x0ff5ec4bc, - 0x00000007f, + 0x06c160caf, + 0x0fffffc18, + 0x000246606, + 0x02f430024, + 0x060ac2f43, + 0x0002060a6, + 0x020032203, + 0x0d281d281, + 0x0d081d080, + 0x0d08290bc, + 0x000000030, + 0x026001037, + 0x001610034, + 0x049c02400, + 0x052af0034, + 0x060b87030, + 0x0b082660a, + 0x00cafffff, + 0x0fc180024, + 0x066a6702a, + 0x0b082662e, + 0x022770161, + 0x00038202f, + 0x000385880, + 0x02f400038, + 0x00cafffff, + 0x0fc180024, + 0x0660a2f49, + 0x00024508f, + 0x06000ff1c, + 0x02f490020, + 0x0508f6000, + 0x0ff124283, + 0x04a826d08, + 0x00c820000, + 0x002006d40, 0x02f022f2f, - 0x000142f2f, - 0x0001c2f0a, - 0x02f4a0028, - 0x02f052f45, - 0x000401036, - 0x029209d1e, - 0x049c02076, - 0x00d2081b6, - 0x04e902a2f, - 0x00040266e, - 0x0801a246f, - 0x0002c226f, - 0x0003c4a80, - 0x06c0e4480, - 0x081af0024, - 0x04fef0014, - 0x06000ff10, - 0x0da804fef, - 0x000146000, - 0x0fe5a1783, - 0x029105282, - 0x06000fe58, - 0x0222f0008, - 0x00c81ffff, - 0x0fc186708, - 0x07002c0af, - 0x000106614, + 0x000202f2f, + 0x000282f2f, + 0x000302f2f, + 0x000482076, + 0x03d2081fe, + 0x04e902400, + 0x06c102002, + 0x0448081af, + 0x000304fef, + 0x0001c6000, + 0x0fed6202f, + 0x0004cd082, + 0x02f40004c, + 0x04fef001c, + 0x06000fe2c, + 0x010362920, + 0x09da649c0, + 0x0260060b4, + 0x052af002c, + 0x0518f6000, + 0x0feda42ae, + 0x0802a6000, + 0x0fe607008, + 0x0d0ae802a, + 0x0c0bcffff, + 0x0fff82d40, + 0x0802a6000, + 0x0fe4c4236, + 0x00161801a, + 0x0202e801a, + 0x02d6f0004, + 0x0801a2d57, + 0x0802e4fef, + 0x000204e75, + 0x052af002c, + 0x0518f6000, + 0x0fe02222f, + 0x000080c81, + 0x0fffffc18, + 0x067087002, + 0x0c0af0010, + 0x066142f2f, + 0x0000c2f01, 0x02f2f000c, - 0x02f012f2f, - 0x0000c6100, - 0x0020e4fef, - 0x0000c4e75, - 0x0448160e8, - 0x04fefffbc, - 0x0242f0058, - 0x0226f0048, - 0x0206f0050, - 0x02e2f0054, - 0x02a174284, - 0x0367c0000, - 0x02c02726f, - 0x0b4816d00, - 0x001c86e00, - 0x001a47c08, - 0x0347c0000, - 0x07078c087, - 0x07228b081, - 0x06d000156, - 0x06e00011c, - 0x028117004, - 0x02f400014, - 0x07020c087, - 0x066064a84, - 0x06d0000fe, - 0x0422f0041, - 0x0741c7040, - 0x0c0876700, - 0x000da2005, - 0x04c460801, - 0x026017030, - 0x0d6807039, - 0x0b0836c04, - 0x07027d680, - 0x022021f83, + 0x06100020e, + 0x04fef000c, + 0x04e754481, + 0x060e84fef, + 0x0ffbc242f, + 0x00058226f, + 0x00048206f, + 0x000502e2f, + 0x000542a17, + 0x04284367c, + 0x000002c02, + 0x0726fb481, + 0x06d0001c8, + 0x06e0001a4, + 0x07c08347c, + 0x000007078, + 0x0c0877228, + 0x0b0816d00, + 0x001566e00, + 0x0011c2811, + 0x070042f40, + 0x000147020, + 0x0c0876606, + 0x04a846d00, + 0x000fe422f, + 0x00041741c, + 0x07040c087, + 0x0670000da, + 0x020054c46, + 0x008012601, + 0x07030d680, + 0x07039b083, + 0x06c047027, + 0x0d6802202, + 0x01f832920, + 0x000247002, + 0x0b0826f7c, + 0x07004c087, + 0x0671a0c37, + 0x000302920, + 0x000246710, + 0x07008b086, + 0x066385382, + 0x01fbc0030, + 0x029200024, + 0x0b4fc0000, + 0x0670a5382, + 0x01fbc002d, 0x029200024, - 0x07002b082, - 0x06f7c7004, - 0x0c087671a, - 0x00c370030, + 0x02f074878, + 0x0fc182f2f, + 0x000544877, + 0x029200030, + 0x06100ff0c, + 0x0202f0024, + 0x04fef0054, + 0x04e757010, + 0x0b08666cc, + 0x0b6fc0000, + 0x067165382, + 0x01fbc0058, 0x029200024, - 0x067107008, - 0x0b0866638, 0x053821fbc, 0x000302920, - 0x00024b4fc, - 0x00000670a, - 0x053821fbc, - 0x0002d2920, - 0x000242f07, - 0x04878fc18, - 0x02f2f0054, - 0x048772920, - 0x000306100, - 0x0ff0c202f, - 0x000244fef, - 0x000544e75, - 0x07010b086, - 0x066ccb6fc, - 0x000006716, + 0x0002460b0, 0x053821fbc, - 0x000582920, - 0x000245382, - 0x01fbc0030, - 0x029200024, - 0x060b05382, - 0x01fbc0078, - 0x029200024, - 0x060e87040, - 0x0c087673e, - 0x020054c46, - 0x008012a00, - 0x0b0fcfc18, - 0x06708701e, - 0x09088b082, - 0x06f127040, - 0x0c0876706, - 0x04a856f00, - 0x0ff5e4a84, - 0x06f00ff58, - 0x053827040, - 0x0c0876600, - 0x0ff2a2004, - 0x04c460001, - 0x026016000, - 0x0ff262004, - 0x04c460001, - 0x0280060c0, - 0x04484347c, - 0x000016000, - 0x0fefc7230, - 0x0b280671e, - 0x07248b280, - 0x0670c2811, + 0x000782920, + 0x0002460e8, + 0x07040c087, + 0x0673e2005, + 0x04c460801, + 0x02a00b0fc, + 0x0fc186708, + 0x0701e9088, + 0x0b0826f12, + 0x07040c087, + 0x067064a85, + 0x06f00ff5e, + 0x04a846f00, + 0x0ff585382, + 0x07040c087, + 0x06600ff2a, + 0x020044c46, + 0x000012601, + 0x06000ff26, + 0x020044c46, + 0x000012800, + 0x060c04484, + 0x0347c0001, + 0x06000fefc, + 0x07230b280, + 0x0671e7248, + 0x0b280670c, + 0x028117004, + 0x02f400014, + 0x06000fed8, + 0x02a117004, + 0x02f400014, + 0x06000fecc, + 0x028113404, + 0x042843802, 0x070042f40, 0x000146000, - 0x0fed82a11, + 0x0feba7208, + 0x0b280672a, + 0x07210b280, + 0x067127220, + 0x0b28066c4, + 0x028117004, + 0x02f400014, + 0x06000fe9c, + 0x028113404, + 0x0380248c4, 0x070042f40, 0x000146000, - 0x0fecc2811, - 0x034044284, - 0x038027004, - 0x02f400014, - 0x06000feba, - 0x07208b280, - 0x0672a7210, - 0x0b2806712, - 0x07220b280, - 0x066c42811, + 0x0fe8a2811, 0x070042f40, 0x000146000, - 0x0fe9c2811, - 0x034043802, - 0x048c47004, - 0x02f400014, - 0x06000fe8a, - 0x028117004, - 0x02f400014, - 0x06000fe7e, - 0x07275b286, - 0x0670e7278, - 0x0b2866600, - 0x0fe547c10, - 0x06000fe4e, - 0x08ebc0000, - 0x000207c0a, - 0x06000fe42, - 0x07258b282, - 0x0670a7264, - 0x0b2826600, - 0x0fe3460ea, - 0x0367c0001, - 0x060d8518f, - 0x02f2f000c, - 0x06100ea12, - 0x0266f0010, - 0x0246e802e, - 0x0262f0014, - 0x0226f0018, + 0x0fe7e7275, + 0x0b286670e, + 0x07278b286, + 0x06600fe54, + 0x07c106000, + 0x0fe4e8ebc, + 0x000000020, + 0x07c0a6000, + 0x0fe427258, + 0x0b282670a, + 0x07264b282, + 0x06600fe34, + 0x060ea367c, + 0x0000160d8, + 0x04feffff4, + 0x0206e801a, + 0x042832f43, + 0x000080caf, + 0x0fffffc18, + 0x000146708, + 0x04aaf0014, + 0x06c000102, + 0x010370161, + 0x00010c0bc, + 0x0000000ff, + 0x02400707f, + 0x0b0826c00, + 0x000e24857, + 0x02f2f0014, + 0x061000c58, + 0x0262f0010, 0x0206e801a, - 0x022000c83, + 0x02400202f, + 0x00008d1af, + 0x000184a82, + 0x066360caf, + 0x0fffffc18, + 0x0001c6706, + 0x04aaf001c, + 0x06d064fef, + 0x000144e75, + 0x0242f001c, + 0x04482b682, + 0x06cf0b1ee, + 0x0802e6408, + 0x010fc0020, + 0x02d48801a, + 0x052ae802a, + 0x0528360e6, + 0x052832f43, + 0x000100caf, 0x0fffffc18, - 0x067064a83, - 0x06c000084, - 0x0101b49c0, - 0x024006734, - 0x0b2fcfc18, - 0x06706b2fc, - 0x000006fec, - 0x0b1ca6406, + 0x00020670c, + 0x04aaf0020, + 0x0508f6f00, + 0x0ff7c518f, + 0x0b1ee802e, + 0x0640c707f, + 0x0b0826d44, 0x010c22d48, - 0x0801a52ae, - 0x0802a700a, - 0x0b0826642, + 0x0801a0caf, + 0x0fffffc18, + 0x000206704, + 0x053af0020, + 0x02002508f, + 0x07209b282, + 0x06714720a, + 0x0b2826708, + 0x052ae802a, + 0x06000ff42, 0x042ae802a, - 0x0b2fcfc18, - 0x067ce5389, - 0x0101b49c0, - 0x0240066cc, - 0x00c83ffff, - 0x0fc186704, - 0x04a836d06, - 0x04fef000c, - 0x04e752403, - 0x04482b282, - 0x06cf2b1ca, - 0x0640810fc, - 0x000202d48, - 0x0801a52ae, - 0x0802a5281, - 0x060e87009, - 0x0b08266bc, - 0x07007d0ae, - 0x0802ac0bc, - 0x0fffffff8, - 0x02d40802a, - 0x060aa2001, - 0x0b2836c00, - 0x0ff78b1ca, - 0x0640810fc, - 0x000202d48, - 0x0801a52ae, - 0x0802a5281, - 0x060e4598f, - 0x04aae800a, - 0x066306100, - 0x0fa14262f, - 0x000182f03, - 0x02f2f0018, - 0x02f2f0018, - 0x02f2f0018, - 0x02f2f0018, - 0x012363920, - 0x09d1e49c1, - 0x020761d20, - 0x081b64e90, - 0x04fef0018, - 0x04e751ebc, - 0x0002a202f, - 0x000181f40, - 0x000011f7c, - 0x0002a0002, - 0x0422f0003, - 0x04878fc18, - 0x042a7486f, - 0x000086100, - 0x0feda4280, - 0x04fef0010, - 0x04e75598f, - 0x020370161, - 0x000081e80, - 0x0422f0001, - 0x04878fc18, - 0x02f2f0010, - 0x0486f0008, - 0x06100feb4, - 0x070044fef, - 0x000104e75, - 0x02f2f0010, - 0x02f2f0010, + 0x060f67008, + 0x0d0ae802a, + 0x0c0bcffff, + 0x0fff82d40, + 0x0802a60e4, + 0x02f022f42, + 0x000102f08, + 0x061000b02, + 0x0262f0018, + 0x0242f0014, + 0x020402d40, + 0x0801a508f, + 0x060a452af, + 0x00010518f, + 0x06000ff34, 0x02f2f0010, + 0x061000c88, + 0x0206e801a, + 0x026002003, + 0x02f43000c, + 0x0b6af0018, + 0x0588f6c00, + 0x0fee4b1ee, + 0x0802e6408, + 0x010fc0020, + 0x02d48801a, + 0x052ae802a, + 0x05283598f, + 0x060d84fef, + 0x0fff04aae, + 0x0800a6642, + 0x06100f932, + 0x0262f0024, + 0x042824a83, + 0x06d080c83, + 0x000000200, + 0x06d202f03, + 0x02f2f0024, + 0x02f2f0024, + 0x02f2f0024, + 0x02f2f0024, + 0x020762d20, + 0x081fe4e90, + 0x04fef0024, + 0x04e751036, + 0x039209da6, + 0x049c02400, + 0x060d42f2f, + 0x00024486e, + 0x0829e486f, + 0x000086100, + 0x0e5504878, + 0x0fc1842a7, + 0x0486f0014, + 0x06100fe42, + 0x042804fef, + 0x000284e75, + 0x04feffff4, 0x02f370161, + 0x00010486f, + 0x000046100, + 0x00a2c2040, + 0x042104878, + 0x0fc182f2f, + 0x00020486f, 0x000106100, - 0x0fc687004, - 0x04fef0010, - 0x04e75202e, - 0x0801ab0ae, - 0x0802e640c, - 0x01dbc0025, - 0x00161801a, - 0x052ae801a, - 0x042804e75, - 0x0202f0014, - 0x07268b081, - 0x06d2a6e04, - 0x070f04e75, + 0x0fe147004, + 0x04fef0020, + 0x04e752f2f, + 0x000102f2f, + 0x000102f2f, + 0x000102f37, + 0x001610010, + 0x06100fbc8, + 0x070044fef, + 0x000104e75, + 0x0202e801a, + 0x0b0ae802e, + 0x0640c1dbc, + 0x000250161, + 0x0801a52ae, + 0x0801a4280, + 0x04e75598f, + 0x04282202f, + 0x000187268, + 0x0b0816d2a, + 0x06e0a7410, + 0x020024480, + 0x0588f4e75, 0x0726cb280, - 0x0670e7275, - 0x0b2806704, - 0x042804e75, - 0x070e04e75, - 0x07008c0af, - 0x000106704, - 0x070c04e75, - 0x070f84e75, - 0x07223b280, - 0x06714722b, - 0x0b280670a, - 0x0722db280, - 0x066d670fe, - 0x04e7570ff, - 0x04e7570fc, - 0x04e754fef, - 0x0ff74f237, - 0x055000161, - 0x00090f22f, - 0x075000034, - 0x0f2277500, - 0x06100081e, - 0x04a80671c, - 0x02f2f00a4, - 0x04878fc18, - 0x02f2f00a4, - 0x0486e8256, - 0x06100fbc2, - 0x070084fef, - 0x000a44e75, - 0x048780001, - 0x0f22f5400, - 0x00040f227, - 0x074006100, - 0x008464a80, + 0x0670a7275, + 0x0b28066ec, + 0x0742060e8, + 0x074087008, + 0x0c0af0014, + 0x067de7440, + 0x060da7223, + 0x0b2806714, + 0x0722bb280, + 0x0670a722d, + 0x0b28066c8, + 0x0740260c4, + 0x0740160c0, + 0x0740460bc, + 0x04fefff74, + 0x0f2375500, + 0x001610090, + 0x0f22f7500, + 0x00034f227, + 0x075006100, + 0x0081e4a80, 0x0671c2f2f, - 0x000b04878, + 0x000a44878, 0x0fc182f2f, - 0x000b0486e, - 0x0825a6100, - 0x0fb907008, - 0x04fef00b0, + 0x000a4486e, + 0x082a36100, + 0x0fb1e7008, + 0x04fef00a4, 0x04e754878, - 0x0fffff22f, - 0x05400004c, + 0x00001f22f, + 0x054000040, 0x0f2277400, - 0x061000814, + 0x061000846, 0x04a80671c, - 0x02f2f00bc, + 0x02f2f00b0, 0x04878fc18, - 0x02f2f00bc, - 0x0486e825f, - 0x06100fb5e, + 0x02f2f00b0, + 0x0486e82a7, + 0x06100faec, 0x070084fef, - 0x000bc4e75, - 0x042af0030, - 0x0f22f543a, - 0x00054f293, - 0x00016f22f, - 0x054000054, - 0x0f200001a, - 0x0f22f7400, - 0x0005452af, - 0x0003042af, - 0x000207041, - 0x0b0af00c0, - 0x06e0a705a, - 0x0b0af00c0, - 0x06c0004bc, - 0x042af0040, - 0x0f22f543a, - 0x00054f281, - 0x000e2486f, + 0x000b04e75, + 0x04878ffff, + 0x0f22f5400, + 0x0004cf227, + 0x074006100, + 0x008144a80, + 0x0671c2f2f, + 0x000bc4878, + 0x0fc182f2f, + 0x000bc486e, + 0x082ac6100, + 0x0faba7008, + 0x04fef00bc, + 0x04e7542af, + 0x00030f22f, + 0x0543a0054, + 0x0f2930016, + 0x0f22f5400, + 0x00054f200, + 0x0001af22f, + 0x074000054, + 0x052af0030, + 0x042af0020, + 0x07041b0af, + 0x000c06e0a, + 0x0705ab0af, + 0x000c06c00, + 0x004bc42af, 0x00040f22f, - 0x054000058, - 0x0f2277400, - 0x0610004ac, - 0x0f22f4000, - 0x0004cf23c, - 0x054233fd3, - 0x044135547, - 0x05a32f22f, - 0x06000004c, + 0x0543a0054, + 0x0f28100e2, + 0x0486f0040, + 0x0f22f5400, + 0x00058f227, + 0x074006100, + 0x004acf22f, + 0x04000004c, + 0x0f23c5423, + 0x03fd34413, + 0x055475a32, + 0x0f22f6000, + 0x0004c202f, + 0x0004ce280, + 0x02f400048, + 0x044802f00, + 0x0610005d4, + 0x0f22f5423, + 0x00064f22f, + 0x074000054, 0x0202f004c, - 0x0e2802f40, - 0x000484480, + 0x090af0050, 0x02f006100, - 0x005d4f22f, - 0x054230064, - 0x0f22f7400, - 0x00054202f, - 0x0004c90af, - 0x000502f00, - 0x0610005ba, - 0x0f22f5423, - 0x00058f200, - 0x00100f23c, - 0x040000000, - 0x00001f200, - 0x00838f295, - 0x0003053af, - 0x00054202f, - 0x0005090af, - 0x000542f00, - 0x06100058e, - 0x0f22f5423, - 0x0005cf200, - 0x00100f23c, - 0x040000000, - 0x00001f200, - 0x00838588f, - 0x0f292ffd4, + 0x005baf22f, + 0x054230058, + 0x0f2000100, 0x0f23c4000, - 0x00000000a, + 0x000000001, 0x0f2000838, - 0x04fef0014, - 0x0f2920030, - 0x052af0040, - 0x0202f003c, - 0x090af0040, + 0x0f2950030, + 0x053af0054, + 0x0202f0050, + 0x090af0054, 0x02f006100, - 0x0054cf22f, - 0x054230048, + 0x0058ef22f, + 0x05423005c, 0x0f2000100, 0x0f23c4000, - 0x00000000a, + 0x000000001, 0x0f2000838, - 0x0588ff295, - 0x0ffd40caf, - 0x0fffffc18, - 0x000b86606, - 0x070062f40, - 0x000b87067, - 0x0b0af00c0, - 0x066084aaf, - 0x000b86e00, - 0x003a6701e, - 0x0b0af00b8, - 0x06c06701e, - 0x02f4000b8, - 0x07802d8af, - 0x000b87066, - 0x0b0af00c0, - 0x0660a202f, - 0x00040d880, - 0x06e027801, - 0x07020b084, - 0x042e72f44, - 0x0003644df, - 0x06e187065, - 0x0b0af00c0, - 0x0660670ff, - 0x02f4000b8, - 0x070652f40, - 0x000c06000, - 0x0fea8f22f, - 0x054000054, - 0x0f22f7400, - 0x0004c4aaf, - 0x000406c26, - 0x070ff90af, + 0x0588ff292, + 0x0ffd4f23c, + 0x040000000, + 0x0000af200, + 0x008384fef, + 0x00014f292, + 0x0003052af, + 0x00040202f, + 0x0003c90af, 0x000402f00, - 0x0610004a6, - 0x0282f0038, - 0x0f2277400, - 0x0f22f5400, - 0x00058f21f, - 0x05423f22f, - 0x074000050, - 0x0588f4283, - 0x0b6846c6a, - 0x0202f0040, - 0x090832f43, - 0x000384a80, - 0x06d0002ca, + 0x06100054c, + 0x0f22f5423, + 0x00048f200, + 0x00100f23c, + 0x040000000, + 0x0000af200, + 0x00838588f, + 0x0f295ffd4, + 0x00cafffff, + 0x0fc1800b8, + 0x066067006, + 0x02f4000b8, + 0x07067b0af, + 0x000c06608, + 0x04aaf00b8, + 0x06e0003a6, + 0x0701eb0af, + 0x000b86c06, + 0x0701e2f40, + 0x000b87802, + 0x0d8af00b8, + 0x07066b0af, + 0x000c0660a, + 0x0202f0040, + 0x0d8806e02, + 0x078017020, + 0x0b08442e7, + 0x02f440036, + 0x044df6e18, + 0x07065b0af, + 0x000c06606, + 0x070ff2f40, + 0x000b87065, + 0x02f4000c0, + 0x06000fea8, + 0x0f22f5400, + 0x00054f22f, + 0x07400004c, + 0x04aaf0040, + 0x06c2670ff, + 0x090af0040, 0x02f006100, - 0x00470f22f, - 0x054800050, - 0x0f20000a0, + 0x004a6282f, + 0x00038f227, + 0x07400f22f, + 0x054000058, + 0x0f21f5423, 0x0f22f7400, - 0x00048f227, - 0x074806100, - 0x004b0262f, - 0x00044282f, - 0x00040f202, - 0x06000f202, - 0x04000f22f, - 0x054230050, + 0x00050588f, + 0x04283b684, + 0x06c6a202f, + 0x000409083, + 0x02f430038, + 0x04a806d00, + 0x002ca2f00, + 0x061000470, 0x0f22f5480, - 0x00058f200, - 0x000a8f22f, - 0x074800058, - 0x07030d082, - 0x022031f80, - 0x039200091, - 0x05283b684, - 0x04fef000c, - 0x06d967605, - 0x074ffd484, - 0x06d362002, - 0x041f72920, - 0x000851010, - 0x049c0d083, - 0x010804283, - 0x00c370039, + 0x00050f200, + 0x000a0f22f, + 0x074000048, + 0x0f2277480, + 0x0610004b0, + 0x0262f0044, + 0x0282f0040, + 0x0f2026000, + 0x0f2024000, + 0x0f22f5423, + 0x00050f22f, + 0x054800058, + 0x0f20000a8, + 0x0f22f7480, + 0x000587030, + 0x0d0822203, + 0x01f803920, + 0x000915283, + 0x0b6844fef, + 0x0000c6d96, + 0x0760574ff, + 0x0d4846d36, + 0x0200241f7, 0x029200085, - 0x06f162002, - 0x041f72920, - 0x000851010, - 0x049c090bc, - 0x00000000a, - 0x010805283, - 0x053826cca, - 0x07c014a83, - 0x0670c1f7c, - 0x000310084, - 0x052af0040, - 0x042864282, - 0x04aaf0030, - 0x0670001fe, - 0x01fbc002d, - 0x02920005c, - 0x052824283, - 0x07801d8af, - 0x000b82a2f, - 0x000b87067, - 0x0b0af00c0, - 0x0661470fb, - 0x0b0af0040, - 0x06e0c202f, - 0x00040b0af, - 0x000b86f00, - 0x001b07066, - 0x0b0af00c0, - 0x0661c262f, - 0x000404483, - 0x06c024283, - 0x0b6af00b8, - 0x06f022604, - 0x0202f0040, - 0x0d8806c02, - 0x042844a83, - 0x06f222003, - 0x0d084b085, - 0x0660a1fbc, - 0x0002e2920, + 0x0101049c0, + 0x0d0831080, + 0x042830c37, + 0x000392920, + 0x000856f16, + 0x0200241f7, + 0x029200085, + 0x0101049c0, + 0x090bc0000, + 0x0000a1080, + 0x052835382, + 0x06cca7c01, + 0x04a83670c, + 0x01f7c0031, + 0x0008452af, + 0x000404286, + 0x042824aaf, + 0x000306700, + 0x001fe1fbc, + 0x0002d2920, 0x0005c5282, - 0x01fbc0030, - 0x02920005c, - 0x052825383, - 0x04a836ede, - 0x04a846f28, + 0x042837801, + 0x0d8af00b8, + 0x02a2f00b8, + 0x07067b0af, + 0x000c06614, + 0x070fbb0af, + 0x000406e0c, + 0x0202f0040, + 0x0b0af00b8, + 0x06f0001b0, + 0x07066b0af, + 0x000c0661c, + 0x0262f0040, + 0x044836c02, + 0x04283b6af, + 0x000b86f02, + 0x02604202f, + 0x00040d880, + 0x06c024284, + 0x04a836f22, 0x02003d084, 0x0b085660a, 0x01fbc002e, 0x02920005c, - 0x052822202, - 0x01fb76920, - 0x000842920, + 0x052821fbc, + 0x000302920, 0x0005c5282, - 0x052865384, - 0x04a846ed8, - 0x07004c0af, - 0x000bc6700, - 0x000e82003, + 0x053834a83, + 0x06ede4a84, + 0x06f282003, 0x0d084b085, 0x0660a1fbc, 0x0002e2920, 0x0005c5282, - 0x07065b0af, - 0x000c0672a, - 0x07067b0af, - 0x000c06722, - 0x042372920, - 0x0005c2f2f, - 0x000bc4878, - 0x0fc182f2f, - 0x000bc486f, - 0x000686100, - 0x0f7d47008, - 0x04fef00bc, - 0x04e754aaf, - 0x000206700, - 0x0008e1fbc, - 0x000452920, - 0x0005c5282, - 0x0262f0040, - 0x06c701fbc, - 0x0002d2920, + 0x022021fb7, + 0x069200084, + 0x02920005c, + 0x052825286, + 0x053844a84, + 0x06ed87004, + 0x0c0af00bc, + 0x0670000e8, + 0x02003d084, + 0x0b085660a, + 0x01fbc002e, + 0x02920005c, + 0x052827065, + 0x0b0af00c0, + 0x0672a7067, + 0x0b0af00c0, + 0x067224237, + 0x02920005c, + 0x02f2f00bc, + 0x04878fc18, + 0x02f2f00bc, + 0x0486f0068, + 0x06100f730, + 0x070084fef, + 0x000bc4e75, + 0x04aaf0020, + 0x06700008e, + 0x01fbc0045, + 0x02920005c, + 0x05282262f, + 0x000406c70, + 0x01fbc002d, + 0x02920005c, + 0x052824483, + 0x07064b083, + 0x06e262003, + 0x04c7c0801, + 0x000000064, + 0x0d0bc0000, + 0x000302202, + 0x01f802920, 0x0005c5282, - 0x044837064, - 0x0b0836e26, 0x020034c7c, 0x008010000, - 0x00064d0bc, + 0x000642601, + 0x020034c7c, + 0x008010000, + 0x0000ad0bc, 0x000000030, 0x022021f80, 0x02920005c, 0x052822003, 0x04c7c0801, - 0x000000064, - 0x026012003, - 0x04c7c0801, 0x00000000a, - 0x0d0bc0000, - 0x000302202, + 0x02001d0bc, + 0x000000030, 0x01f802920, 0x0005c5282, - 0x020034c7c, - 0x008010000, - 0x0000a2001, - 0x0d0bc0000, - 0x000301f80, + 0x06000ff58, + 0x01fbc002b, + 0x02920005c, + 0x052826090, + 0x01fbc0065, 0x02920005c, 0x052826000, - 0x0ff581fbc, - 0x0002b2920, - 0x0005c5282, - 0x060901fbc, - 0x000652920, - 0x0005c5282, - 0x06000ff72, - 0x07067b0af, - 0x000c0670a, - 0x07068b0af, - 0x000c06600, - 0x0ff1c76ff, - 0x0d6826d0a, - 0x00c370030, - 0x03920005c, - 0x067222803, - 0x06d00ff06, - 0x00c37002e, - 0x04920005c, - 0x0660e2403, - 0x0b8836700, - 0x0fef45282, - 0x06000feee, - 0x0538460e0, - 0x0538360ce, - 0x076ff96af, - 0x000406c02, - 0x042832a2f, - 0x000b89aaf, - 0x000407068, - 0x02f4000c0, - 0x06000fe38, - 0x07001c0af, - 0x000bc6700, - 0x0fe061fbc, - 0x0002b2920, - 0x0005c5282, - 0x06000fdf8, - 0x0f22f5400, - 0x0004cf23c, - 0x040230000, - 0x0000af22f, - 0x07400004c, - 0x0f2277400, - 0x0610001ea, - 0x0262f0040, - 0x0282f003c, - 0x0f2026000, - 0x0f2024000, - 0x0f22f5480, - 0x00054f200, - 0x000a8f22f, - 0x074800054, - 0x0598f6000, - 0x0fd3c53af, - 0x000b86000, - 0x0fc567001, - 0x02f400020, - 0x07020d1af, + 0x0ff727067, + 0x0b0af00c0, + 0x0670a7068, + 0x0b0af00c0, + 0x06600ff1c, + 0x076ffd682, + 0x06d0a0c37, + 0x000303920, + 0x0005c6722, + 0x028036d00, + 0x0ff060c37, + 0x0002e4920, + 0x0005c660e, + 0x02403b883, + 0x06700fef4, + 0x052826000, + 0x0feee5384, + 0x060e05383, + 0x060ce76ff, + 0x096af0040, + 0x06c024283, + 0x02a2f00b8, + 0x09aaf0040, + 0x070682f40, 0x000c06000, - 0x0fb38518f, + 0x0fe387001, + 0x0c0af00bc, + 0x06700fe06, + 0x01fbc002b, + 0x02920005c, + 0x052826000, + 0x0fdf8f22f, + 0x05400004c, + 0x0f23c4023, + 0x00000000a, + 0x0f22f7400, + 0x0004cf227, + 0x074006100, + 0x001ea262f, + 0x00040282f, + 0x0003cf202, + 0x06000f202, + 0x04000f22f, + 0x054800054, + 0x0f20000a8, + 0x0f22f7480, + 0x00054598f, + 0x06000fd3c, + 0x053af00b8, + 0x06000fc56, + 0x070012f40, + 0x000207020, + 0x0d1af00c0, + 0x06000fb38, + 0x0518ff22f, + 0x05500000c, + 0x0206f0014, + 0x0f200083a, + 0x0f28e0010, + 0x04290f23c, + 0x040000000, + 0x00000508f, + 0x04e75f217, + 0x075002017, + 0x07214e2a0, + 0x0c0bc0000, + 0x007ff90bc, + 0x0000003fe, + 0x020800297, + 0x0800fffff, + 0x000973fe0, + 0x00000f217, + 0x05400508f, + 0x04e75518f, 0x0f22f5500, - 0x0000c206f, + 0x0000c242f, 0x00014f200, 0x0083af28e, - 0x000104290, - 0x0f23c4000, - 0x000000000, - 0x0508f4e75, - 0x0f2177500, - 0x020177214, - 0x0e2a0c0bc, + 0x0000ef23c, + 0x040000000, + 0x00000508f, + 0x04e75f217, + 0x075002017, + 0x07214e2a0, + 0x0c0bc0000, + 0x007ffd480, + 0x06e0cf23c, + 0x040000000, + 0x00000508f, + 0x04e750c82, 0x0000007ff, - 0x090bc0000, - 0x003fe2080, - 0x00297800f, - 0x0ffff0097, - 0x03fe00000, + 0x06d0cf23c, + 0x040000000, + 0x00000508f, + 0x04e750297, + 0x0800fffff, + 0x020027214, + 0x0e3a08197, 0x0f2175400, 0x0508f4e75, - 0x0518ff22f, - 0x05500000c, - 0x0242f0014, - 0x0f200083a, - 0x0f28e000e, - 0x0f23c4000, - 0x000000000, - 0x0508f4e75, - 0x0f2177500, - 0x020177214, - 0x0e2a0c0bc, + 0x04feffff4, + 0x0206f0018, + 0x0f22f5500, + 0x00010f23c, + 0x040000000, + 0x00001f200, + 0x00838f295, + 0x00018f23c, + 0x040000000, + 0x00000f210, + 0x07400f200, + 0x008004fef, + 0x0000c4e75, + 0x0f22f7500, + 0x00004242f, + 0x000047214, + 0x0e2a2c4bc, 0x0000007ff, - 0x0d4806e0c, - 0x0f23c4000, - 0x000000000, - 0x0508f4e75, - 0x00c820000, - 0x007ff6d0c, - 0x0f23c4000, - 0x000000000, - 0x0508f4e75, - 0x00297800f, - 0x0ffff2002, - 0x07214e3a0, - 0x08197f217, - 0x05400508f, - 0x04e754fef, - 0x0fff4206f, - 0x00018f22f, - 0x055000010, - 0x0f23c4000, - 0x000000001, - 0x0f2000838, - 0x0f2950018, - 0x0f23c4000, - 0x000000000, + 0x094bc0000, + 0x003fe7015, + 0x0b0826d2c, + 0x0203c001f, + 0x0ffffe4a0, + 0x04680c1af, + 0x0000442af, + 0x00008f22f, + 0x054000004, 0x0f2107400, 0x0f2000800, - 0x04fef000c, - 0x04e75f22f, - 0x075000004, - 0x0242f0004, - 0x07214e2a2, - 0x0c4bc0000, - 0x007ff94bc, - 0x0000003fe, - 0x07015b082, - 0x06d2c203c, - 0x0001fffff, - 0x0e4a04680, - 0x0c1af0004, - 0x042af0008, - 0x0f22f5400, - 0x00004f210, - 0x07400f200, - 0x00800f22f, - 0x054280004, - 0x04fef000c, - 0x04e757035, - 0x0b0826de0, - 0x072ead282, - 0x0203c7fff, - 0x0ffffe2a0, - 0x04680c1af, - 0x0000860cc, - 0x0598f222f, - 0x000086c1c, - 0x020014480, - 0x02f0061f0, - 0x0f2000080, - 0x0f23c4000, - 0x000000001, - 0x0f2000420, - 0x0508f4e75, - 0x0700ab081, - 0x06f0cf236, - 0x040001d20, - 0x08076588f, - 0x04e752401, - 0x0e2822001, - 0x090822e82, - 0x02f0061bc, - 0x0f2277400, - 0x02f2f000c, - 0x061b2588f, - 0x0f21f5423, - 0x0508f4e75, - 0x0518ff22f, - 0x0543a000c, - 0x0f2930054, - 0x0486f000c, - 0x0f22f5400, - 0x00010f200, - 0x0001af227, - 0x074006100, - 0x0feeef200, - 0x00100f200, - 0x0003af281, - 0x00016f22f, - 0x054000018, - 0x0f23c4022, - 0x000000001, - 0x0f22f7400, - 0x00018f22f, - 0x054000018, - 0x0f200001a, - 0x0f22f7400, - 0x00018f22f, - 0x054000018, - 0x04fef0014, - 0x04e75486f, + 0x0f22f5428, + 0x000044fef, + 0x0000c4e75, + 0x07035b082, + 0x06de072ea, + 0x0d282203c, + 0x07fffffff, + 0x0e2a04680, + 0x0c1af0008, + 0x060cc598f, + 0x0222f0008, + 0x06c1c2001, + 0x044802f00, + 0x061f0f200, + 0x00080f23c, + 0x040000000, + 0x00001f200, + 0x00420508f, + 0x04e75700a, + 0x0b0816f0c, + 0x0f2364000, + 0x01d208076, + 0x0588f4e75, + 0x02401e282, + 0x020019082, + 0x02e822f00, + 0x061bcf227, + 0x074002f2f, + 0x0000c61b2, + 0x0588ff21f, + 0x05423508f, + 0x04e75518f, + 0x0f22f543a, + 0x0000cf293, + 0x00054486f, 0x0000cf22f, 0x054000010, - 0x0f2277400, - 0x06100fea0, - 0x060e0f22f, - 0x054800004, - 0x0f200049a, - 0x0f2277480, - 0x06100ff7e, 0x0f200001a, - 0x0508f4e75, - 0x0202f000c, - 0x06f3e226f, - 0x000044281, - 0x0122f000b, - 0x0670c2401, - 0x0e1828282, - 0x024014842, - 0x0828290bc, - 0x000000010, - 0x06d1022c1, - 0x022c122c1, - 0x022c190bc, - 0x000000010, - 0x06cf0d0bc, - 0x00000000f, - 0x06d0612c1, - 0x053806cfa, - 0x0202f0004, - 0x04e75518f, - 0x02ebc7ff0, - 0x000007001, - 0x02f400004, - 0x0f2175400, - 0x0508f4e75, - 0x0518ff22f, - 0x05500000c, - 0x0f2177500, - 0x0203c7ff0, - 0x00000c097, - 0x00c807ff0, - 0x000006706, - 0x04280508f, - 0x04e7542a7, - 0x0f2277500, - 0x061304a80, - 0x066087001, - 0x04fef0014, - 0x04e754280, - 0x060f6518f, - 0x02ebc7ff0, - 0x0000042af, - 0x000044aaf, - 0x0000c6c06, - 0x000978000, - 0x00000f217, - 0x05400508f, - 0x04e75518f, - 0x0206f0014, + 0x0f2277400, + 0x06100feee, + 0x0f2000100, + 0x0f200003a, + 0x0f2810016, 0x0f22f5400, - 0x0000cf217, - 0x074004aaf, - 0x000046706, - 0x04280508f, - 0x04e750c97, - 0x07ff00000, - 0x06610b0fc, - 0x000006d06, - 0x07001508f, - 0x04e754280, - 0x060f80c97, - 0x0fff00000, - 0x06610b0fc, - 0x000006e06, - 0x07001508f, - 0x04e754280, - 0x060f84280, - 0x0508f4e75, - 0x0202f000c, - 0x06f4c246f, - 0x00004226f, - 0x00008b5c9, - 0x062462209, - 0x0c2bc0000, - 0x000036710, - 0x053806d32, - 0x014d92209, - 0x0c2bc0000, - 0x0000366f0, + 0x00018f23c, + 0x040220000, + 0x00001f22f, + 0x074000018, + 0x0f22f5400, + 0x00018f200, + 0x0001af22f, + 0x074000018, + 0x0f22f5400, + 0x000184fef, + 0x000144e75, + 0x0486f000c, + 0x0f22f5400, + 0x00010f227, + 0x074006100, + 0x0fea060e0, + 0x0f22f5480, + 0x00004f200, + 0x0049af227, + 0x074806100, + 0x0ff7ef200, + 0x0001a508f, + 0x04e75202f, + 0x0000c6f3e, + 0x0226f0004, + 0x04281122f, + 0x0000b670c, + 0x02401e182, + 0x082822401, + 0x048428282, 0x090bc0000, 0x000106d10, - 0x024d924d9, - 0x024d924d9, + 0x022c122c1, + 0x022c122c1, 0x090bc0000, 0x000106cf0, 0x0d0bc0000, 0x0000f6d06, - 0x014d95380, + 0x012c15380, 0x06cfa202f, 0x000044e75, - 0x0d3c0d5c0, + 0x0518f2ebc, + 0x07ff00000, + 0x070012f40, + 0x00004f217, + 0x05400508f, + 0x04e75518f, + 0x0f22f5500, + 0x0000cf217, + 0x07500203c, + 0x07ff00000, + 0x0c0970c80, + 0x07ff00000, + 0x067064280, + 0x0508f4e75, + 0x042a7f227, + 0x075006130, + 0x04a806608, + 0x070014fef, + 0x000144e75, + 0x0428060f6, + 0x0518f2ebc, + 0x07ff00000, + 0x042af0004, + 0x04aaf000c, + 0x06c060097, + 0x080000000, + 0x0f2175400, + 0x0508f4e75, + 0x0518f206f, + 0x00014f22f, + 0x05400000c, + 0x0f2177400, + 0x04aaf0004, + 0x067064280, + 0x0508f4e75, + 0x00c977ff0, + 0x000006610, + 0x0b0fc0000, + 0x06d067001, + 0x0508f4e75, + 0x0428060f8, + 0x00c97fff0, + 0x000006610, + 0x0b0fc0000, + 0x06e067001, + 0x0508f4e75, + 0x0428060f8, + 0x04280508f, + 0x04e75202f, + 0x0000c6f4c, + 0x0246f0004, + 0x0226f0008, + 0x0b5c96246, 0x02209c2bc, 0x000000003, 0x067105380, - 0x06de81521, + 0x06d3214d9, 0x02209c2bc, 0x000000003, 0x066f090bc, 0x000000010, - 0x06d102521, + 0x06d1024d9, + 0x024d924d9, + 0x024d990bc, + 0x000000010, + 0x06cf0d0bc, + 0x00000000f, + 0x06d0614d9, + 0x053806cfa, + 0x0202f0004, + 0x04e75d3c0, + 0x0d5c02209, + 0x0c2bc0000, + 0x000036710, + 0x053806de8, + 0x015212209, + 0x0c2bc0000, + 0x0000366f0, + 0x090bc0000, + 0x000106d10, + 0x025212521, 0x025212521, - 0x0252190bc, - 0x000000010, - 0x06cf0d0bc, - 0x00000000f, - 0x06dbc1521, - 0x053806db6, - 0x060f80000, + 0x090bc0000, + 0x000106cf0, + 0x0d0bc0000, + 0x0000f6dbc, + 0x015215380, + 0x06db660f8, + 0x0222f0008, + 0x0206f0004, + 0x0c2bc0000, + 0x0ffff0c81, + 0x0000000ff, + 0x06e344a81, + 0x066061081, + 0x020084e75, + 0x00c810000, + 0x000806d08, + 0x00c810000, + 0x000836f08, + 0x010812008, + 0x052804e75, + 0x010bcff83, + 0x07081d081, + 0x011400001, + 0x020085480, + 0x04e75203c, + 0x0000000ff, + 0x0c0816612, + 0x010bcff80, + 0x02001e080, + 0x011400001, + 0x020085480, + 0x04e750c81, + 0x0000001ff, + 0x06e0e10bc, + 0x0ff811141, + 0x000012008, + 0x054804e75, + 0x010bcff82, + 0x02001e080, + 0x011400001, + 0x011410002, + 0x020085680, + 0x04e75518f, + 0x0226f000c, + 0x0206f0010, + 0x01011c0bc, + 0x0000000ff, + 0x034004280, + 0x030020c40, + 0x000816d00, + 0x000c46e34, + 0x010290001, + 0x0c0bc0000, + 0x000ff3400, + 0x0660eb0fc, + 0x000006702, + 0x042904280, + 0x0508f4e75, + 0x0b0fc0000, + 0x067047002, + 0x020804280, + 0x03002d0bc, + 0x000000100, + 0x0508f4e75, + 0x00c400082, + 0x0674c0c40, + 0x000836712, + 0x0b0fc0000, + 0x067047001, + 0x020804280, + 0x03002508f, + 0x04e751029, + 0x00001c0bc, + 0x0000000ff, + 0x034003002, + 0x00c400000, + 0x063a83002, + 0x00c400004, + 0x062a0b0fc, + 0x000006704, + 0x070022080, + 0x042803002, + 0x0d0bc0000, + 0x0007f508f, + 0x04e751029, + 0x00001c0bc, + 0x0000000ff, + 0x036006700, + 0x0ff7a1029, + 0x00002c0bc, + 0x0000000ff, + 0x034006700, + 0x0ff6ab0fc, + 0x000006704, + 0x070032080, + 0x042803002, + 0x042813203, + 0x0e181d081, + 0x0508f4e75, + 0x04241b240, + 0x0672c0c40, + 0x000806600, + 0x0ff741029, + 0x00001c0bc, + 0x0000000ff, + 0x034006700, + 0x0ff32b0fc, + 0x000006704, + 0x070022080, + 0x042803002, + 0x0e180508f, + 0x04e756000, + 0x0ff1a4fef, + 0x0fff442af, + 0x000041037, + 0x001610010, + 0x0c0bc0000, + 0x000ff2200, + 0x0707fb081, + 0x06c2c486f, + 0x000082f2f, + 0x000146100, + 0x0fec22200, + 0x0202f0010, + 0x0d1af0018, + 0x04a81660a, + 0x0202f000c, + 0x04fef0014, + 0x04e7552af, + 0x0000c508f, + 0x060c052af, + 0x00010518f, + 0x060e20000, 0x000000000, 0x000000000, 0x000000000, @@ -4049,61 +4246,79 @@ ulong bootcode[]={ 0x0968005f5, 0x0e1003b9a, 0x0ca000000, - 0x0630c0000, - 0x0631d0000, - 0x063510000, - 0x063566500, + 0x0835c0000, + 0x0836d0000, + 0x083820000, + 0x000000000, + 0x083980000, + 0x083cc0000, + 0x083d16500, + 0x000000000, + 0x083d80000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x083e90000, + 0x084130000, + 0x084186500, 0x000000000, - 0x0635d0000, - 0x0636e0000, - 0x063980000, - 0x0639d6500, + 0x084200000, 0x000000000, - 0x063a50000, - 0x063b10000, - 0x063cf0000, - 0x063d46e00, 0x000000000, - 0x063db0000, - 0x063e50000, - 0x0640d0000, - 0x064123900, 0x000000000, - 0x064190000, - 0x064210000, - 0x0642c0000, - 0x064316500, + 0x0842c0000, + 0x0844a0000, + 0x0844f6e00, 0x000000000, + 0x084560000, + 0x084600000, 0x000000000, 0x000000000, + 0x0846e0000, + 0x084960000, + 0x0849b3900, 0x000000000, + 0x084a20000, 0x000000000, 0x000000000, - 0x062ec3133, + 0x000000000, + 0x084aa0000, + 0x084b50000, + 0x084ba6500, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x0833c3133, 0x0352e3130, 0x0342e3131, 0x0372e3330, 0x000000000, 0x000000000, - 0x062f33133, + 0x083433133, 0x0352e3130, 0x0342e3131, 0x0372e3331, 0x000000000, 0x000000000, - 0x062f93133, + 0x083493133, 0x0352e3130, 0x0342e3131, 0x0372e3332, 0x000000000, 0x000000000, - 0x063013133, + 0x083513133, 0x0352e3130, 0x0342e3131, 0x0372e3200, 0x000000000, 0x000000000, - 0x063053133, + 0x083553133, 0x0352e3130, 0x0342e3131, 0x0372e3333, @@ -4119,7 +4334,7 @@ ulong bootcode[]={ 0x00a002573, 0x00a000000, 0x000000000, - 0x054160000, + 0x055160000, 0x000000000, 0x000000000, 0x000000000, @@ -4158,10 +4373,12 @@ ulong bootcode[]={ 0x000000000, 0x000000000, 0x000000000, - 0x000004e61, - 0x04e002b49, - 0x06e66002d, + 0x000002a25, + 0x0632a004e, + 0x0614e002b, 0x0496e6600, + 0x02d496e66, + 0x000000000, 0x000000680, 0x0067c0678, 0x006740002, @@ -4208,7 +4425,38 @@ ulong bootcode[]={ 0x07073206d, 0x061676e75, 0x06d203330, - 0x030300028, + 0x03030006d, + 0x069707320, + 0x06d61676e, + 0x0756d6469, + 0x0736b2033, + 0x030303000, + 0x06d697073, + 0x0206d6167, + 0x06e756d63, + 0x06f6c6f72, + 0x020333030, + 0x030002839, + 0x029363030, + 0x020736572, + 0x069616c2c, + 0x020283129, + 0x039323030, + 0x020736572, + 0x069616c2c, + 0x020286529, + 0x074686572, + 0x06e65742c, + 0x020286929, + 0x0696e636f, + 0x06e007474, + 0x079310023, + 0x0772f6864, + 0x030006e65, + 0x07874206e, + 0x065787473, + 0x074617469, + 0x06f6e0028, 0x039293630, 0x030207365, 0x07269616c, @@ -4219,16 +4467,29 @@ ulong bootcode[]={ 0x02c202865, 0x029746865, 0x0726e6574, - 0x02c202869, - 0x029696e63, - 0x06f6e0074, - 0x074793100, - 0x023772f68, - 0x06430006e, - 0x065787420, - 0x06e657874, - 0x073746174, - 0x0696f6e00, + 0x000747479, + 0x030002377, + 0x0312f6864, + 0x031006174, + 0x026742073, + 0x061666172, + 0x069002839, + 0x029363030, + 0x020736572, + 0x069616c2c, + 0x020283129, + 0x039323030, + 0x020736572, + 0x069616c00, + 0x074747930, + 0x00023772f, + 0x068643000, + 0x061742674, + 0x020676e6f, + 0x074006174, + 0x026742067, + 0x06e6f7464, + 0x069736b00, 0x028392936, 0x030302073, 0x065726961, @@ -4237,524 +4498,494 @@ ulong bootcode[]={ 0x030302073, 0x065726961, 0x06c2c2028, - 0x065297468, - 0x065726e65, - 0x074007474, - 0x079300023, - 0x077312f68, - 0x064310061, - 0x074267420, - 0x073616661, - 0x072690028, - 0x039293630, - 0x030207365, - 0x07269616c, - 0x02c202831, - 0x029393230, - 0x030207365, - 0x07269616c, - 0x000747479, - 0x030002377, - 0x02f686430, - 0x000617426, - 0x07420676e, - 0x06f740028, - 0x039293630, - 0x030207365, - 0x07269616c, - 0x02c202831, - 0x029393230, - 0x030207365, - 0x07269616c, - 0x02c202869, - 0x029696e63, - 0x06f6e0074, - 0x074793000, - 0x023772f68, - 0x064300073, - 0x0756e2073, - 0x06c630028, - 0x065297468, - 0x065726e65, - 0x074006e6f, - 0x06e65006e, + 0x06929696e, + 0x0636f6e00, + 0x074747930, + 0x00023772f, + 0x068643000, + 0x073756e20, + 0x0736c6300, + 0x028652974, + 0x06865726e, + 0x06574006e, 0x06f6e6500, - 0x023632f63, - 0x06f6e7300, - 0x023632f63, - 0x06f6e7300, - 0x023632f63, - 0x06f6e7300, 0x06e6f6e65, - 0x000757365, - 0x072002f00, - 0x02f006269, - 0x06e640042, - 0x031393230, - 0x030004239, - 0x036303000, - 0x0626f6f74, - 0x06e657400, - 0x00a002f6e, - 0x065742f25, - 0x07300236b, - 0x0002f6e65, - 0x074002f6e, - 0x065742f6e, + 0x00023632f, + 0x0636f6e73, + 0x00023632f, + 0x0636f6e73, + 0x00023632f, + 0x0636f6e73, + 0x0006e6f6e, + 0x065007573, + 0x06572002f, + 0x0002f0062, + 0x0696e6400, + 0x042313932, + 0x030300042, + 0x039363030, + 0x000626f6f, + 0x0746e6574, + 0x0000a002f, + 0x06e65742f, + 0x025730023, + 0x06b002f6e, 0x06574002f, - 0x06c69622f, - 0x06e657461, - 0x06464722e, - 0x02573002f, - 0x06c69622f, - 0x06e657461, - 0x06464722e, + 0x06e65742f, 0x06e657400, - 0x02f25732f, - 0x0696e6974, - 0x000696e69, - 0x074002d74, - 0x06d00696e, + 0x02f6c6962, + 0x02f6e6574, + 0x061646472, + 0x02e257300, + 0x02f6c6962, + 0x02f6e6574, + 0x061646472, + 0x02e6e6574, + 0x0002f2573, + 0x02f696e69, + 0x07400696e, 0x06974002d, - 0x07400626f, - 0x06f746c69, - 0x06e650062, - 0x06f6f7464, - 0x065766963, - 0x06500626f, - 0x06f747028, - 0x02900626f, - 0x06f747028, - 0x029006861, + 0x0746d0069, + 0x06e697400, + 0x02d740062, + 0x06f6f746c, + 0x0696e6500, + 0x0626f6f74, + 0x064657669, + 0x063650062, + 0x06f6f7470, + 0x028290062, + 0x06f6f7470, + 0x028290068, + 0x061726420, + 0x06469736b, + 0x020006861, 0x072642064, 0x069736b20, - 0x000686172, - 0x064206469, - 0x0736b2000, - 0x0626f6f74, - 0x075736572, 0x000626f6f, - 0x074736572, - 0x076657200, + 0x074757365, + 0x07200626f, + 0x06f747365, + 0x072766572, + 0x000626f6f, + 0x074657300, 0x0626f6f74, - 0x065730062, - 0x06f6f7465, - 0x073006370, - 0x075747970, - 0x065007465, - 0x0726d696e, - 0x0616c0073, - 0x0756e2073, - 0x06c630023, - 0x0652f2573, - 0x00023652f, - 0x025730023, - 0x0632f7573, - 0x065720077, - 0x072697465, - 0x020757365, - 0x072206e61, - 0x06d65006f, - 0x070656e20, + 0x065730063, + 0x070757479, + 0x070650074, + 0x065726d69, + 0x06e616c00, + 0x073756e20, + 0x0736c6300, + 0x023652f25, + 0x073002365, + 0x02f257300, 0x023632f75, 0x073657200, - 0x072656d6f, - 0x074652066, - 0x073206f6e, - 0x02025732c, - 0x020286e29, - 0x06f6e6500, - 0x0626f6f74, - 0x0002f0000, + 0x077726974, + 0x065207573, + 0x06572206e, + 0x0616d6500, + 0x06f70656e, + 0x02023632f, + 0x075736572, + 0x00072656d, + 0x06f746520, + 0x06673206f, + 0x06e202573, + 0x02c20286e, + 0x0296f6e65, + 0x000626f6f, + 0x074002f00, + 0x000006d6f, + 0x0756e7400, + 0x02f6b6673, + 0x00063616e, + 0x027742066, + 0x0696e6520, + 0x02f6b6673, + 0x00a002573, + 0x066730063, + 0x0616e2774, + 0x02066696e, + 0x064207061, + 0x072746974, + 0x0696f6e20, + 0x025730a00, + 0x06c6f6361, + 0x06c2e2e2e, + 0x000236300, + 0x02f646576, + 0x00062696e, + 0x064202363, + 0x000237000, + 0x02f70726f, + 0x063006269, + 0x06e642023, + 0x070007069, + 0x070650066, + 0x06f726b00, + 0x025640025, + 0x064002f6b, + 0x06673006b, + 0x06673002d, + 0x066002d73, + 0x00063616e, + 0x027742065, + 0x078656320, + 0x06b667300, + 0x02f00626f, + 0x06f740000, 0x0006d6f75, 0x06e74002f, - 0x06b667300, - 0x063616e27, - 0x074206669, - 0x06e65202f, - 0x06b66730a, - 0x000257366, - 0x073006361, - 0x06e277420, - 0x066696e64, - 0x020706172, - 0x074697469, - 0x06f6e2025, - 0x0730a006c, - 0x06f63616c, - 0x02e2e2e00, - 0x02363002f, - 0x064657600, - 0x062696e64, - 0x020236300, - 0x02370002f, - 0x070726f63, - 0x00062696e, - 0x064202370, - 0x000706970, - 0x06500666f, - 0x0726b0025, - 0x064002564, - 0x0002f6b66, - 0x073006b66, - 0x073002d66, - 0x0002d7300, - 0x063616e27, - 0x074206578, - 0x06563206b, - 0x06673002f, - 0x000626f6f, - 0x074000000, + 0x06e2f6b66, + 0x073000000, 0x06d6f756e, - 0x074002f6e, - 0x02f6b6673, - 0x00000006d, - 0x06f756e74, + 0x074007365, + 0x072766572, 0x000736572, - 0x076657200, - 0x073657276, - 0x065723a20, - 0x025730a00, - 0x0236c2f31, - 0x02f63746c, - 0x0006f7065, - 0x06e696e67, - 0x020236c2f, + 0x07665723a, + 0x02025730a, + 0x000236c2f, 0x0312f6374, - 0x06c00636f, - 0x06e6e6563, - 0x074203078, - 0x039303000, - 0x0636f6e6e, - 0x065637420, - 0x030783930, - 0x030007075, - 0x07368206e, - 0x06f657468, - 0x065720070, + 0x06c006f70, + 0x0656e696e, + 0x06720236c, + 0x02f312f63, + 0x0746c0063, + 0x06f6e6e65, + 0x063742030, + 0x078393030, + 0x000636f6e, + 0x06e656374, + 0x020307839, + 0x030300070, 0x075736820, 0x06e6f6574, 0x068657200, - 0x0636f6e66, - 0x06967206e, - 0x06f6e6574, + 0x070757368, + 0x0206e6f65, + 0x074686572, 0x000636f6e, 0x066696720, 0x06e6f6e65, - 0x07400236e, + 0x07400636f, + 0x06e666967, + 0x0206e6f6e, + 0x065740023, + 0x06e6e6f6e, + 0x065742f32, + 0x02f646174, + 0x061006f70, + 0x0656e696e, + 0x06720236e, 0x06e6f6e65, 0x0742f322f, 0x064617461, - 0x0006f7065, - 0x06e696e67, - 0x020236e6e, + 0x000236e6e, 0x06f6e6574, + 0x02f322f63, + 0x0746c006f, + 0x070656e69, + 0x06e672023, + 0x06e6e6f6e, + 0x065742f32, + 0x02f63746c, + 0x0006e6f6e, + 0x065740023, + 0x06e6e6f6e, + 0x065740070, + 0x075736820, + 0x0646b6d75, + 0x07800636f, + 0x06e666967, + 0x020312031, + 0x036206e6f, + 0x072657374, + 0x061727400, + 0x0636f6e66, + 0x069672031, + 0x020313620, + 0x072657374, + 0x061727400, + 0x0636f6e6e, + 0x065637420, + 0x025730023, + 0x06b2f646b, 0x02f322f64, 0x061746100, - 0x0236e6e6f, - 0x06e65742f, + 0x06f70656e, + 0x0696e6720, + 0x0236b2f32, + 0x02f646174, + 0x06100236b, + 0x02f646b2f, 0x0322f6374, 0x06c006f70, 0x0656e696e, - 0x06720236e, - 0x06e6f6e65, - 0x0742f322f, - 0x063746c00, - 0x06e6f6e65, - 0x07400236e, - 0x06e6f6e65, - 0x074007075, - 0x073682064, - 0x06b6d7578, - 0x000636f6e, - 0x066696720, - 0x031203136, - 0x0206e6f72, - 0x065737461, - 0x072740063, - 0x06f6e6669, - 0x067203120, - 0x031362072, - 0x065737461, - 0x072740063, - 0x06f6e6e65, - 0x063742025, - 0x07300236b, + 0x06720236b, 0x02f646b2f, - 0x0322f6461, - 0x07461006f, + 0x0322f6374, + 0x06c00696e, + 0x069740064, + 0x06b00236b, + 0x000736572, + 0x076657200, + 0x023692f63, + 0x0746c006f, 0x070656e69, 0x06e672023, - 0x06b2f322f, - 0x064617461, - 0x000236b2f, - 0x0646b2f32, - 0x02f63746c, - 0x0006f7065, - 0x06e696e67, - 0x020236b2f, - 0x0646b2f32, - 0x02f63746c, - 0x000696e69, - 0x07400646b, - 0x000236b00, - 0x073657276, - 0x065720023, 0x0692f6374, - 0x06c006f70, - 0x0656e696e, - 0x067202369, - 0x02f63746c, - 0x00063616e, - 0x027742063, - 0x06f6e6e65, - 0x063742c20, - 0x072657472, - 0x079696e67, - 0x02e2e2e0a, - 0x000736572, - 0x076657200, - 0x023742f25, - 0x07363746c, - 0x00023742f, - 0x025730070, - 0x075736820, - 0x06173796e, - 0x063006361, + 0x06c006361, 0x06e277420, 0x0636f6e6e, 0x06563742c, 0x020726574, 0x07279696e, 0x0672e2e2e, - 0x00a002373, + 0x00a007365, + 0x072766572, + 0x00023742f, + 0x025736374, + 0x06c002374, 0x02f257300, - 0x063726561, - 0x074650025, - 0x064007772, - 0x069746500, - 0x074696d65, - 0x02e2e2e00, - 0x023722f72, - 0x074630072, - 0x065616469, - 0x06e672072, - 0x074630023, - 0x0732f626f, - 0x06f74002f, - 0x06e2f626f, - 0x06f740000, - 0x0002f6e2f, - 0x0626f6f74, - 0x000737461, - 0x07400256c, - 0x064002f6e, - 0x02f626f6f, - 0x074002372, - 0x02f727463, - 0x000777269, - 0x074696e67, - 0x020727463, - 0x00023632f, - 0x074696d65, - 0x0004f4b00, - 0x043480025, - 0x0730a2573, - 0x00a004e4f, - 0x00025730a, - 0x025730a00, - 0x06e6f702e, - 0x02e2e0077, + 0x070757368, + 0x020617379, + 0x06e630063, + 0x0616e2774, + 0x020636f6e, + 0x06e656374, + 0x02c207265, + 0x074727969, + 0x06e672e2e, + 0x02e0a0023, + 0x0732f2573, + 0x000637265, + 0x061746500, + 0x025640077, 0x072697465, - 0x0206e6f70, - 0x000726561, - 0x064206e6f, - 0x070006e20, - 0x03d202564, - 0x03b206275, - 0x066203d20, - 0x025232e32, - 0x078202523, - 0x02e327820, - 0x025232e32, - 0x078202523, - 0x02e32780a, - 0x000666f72, - 0x06d617420, - 0x06e6f7000, - 0x06e6f7420, - 0x0526e6f70, - 0x000736573, - 0x073696f6e, + 0x00074696d, + 0x0652e2e2e, + 0x00023722f, + 0x072746300, + 0x072656164, + 0x0696e6720, + 0x072746300, + 0x023732f62, + 0x06f6f7400, + 0x02f6e2f62, + 0x06f6f7400, + 0x000002f6e, + 0x02f626f6f, + 0x074007374, + 0x061740025, + 0x06c64002f, + 0x06e2f626f, + 0x06f740023, + 0x0722f7274, + 0x063007772, + 0x06974696e, + 0x067207274, + 0x063002363, + 0x02f74696d, + 0x065004f4b, + 0x000434800, + 0x025730a25, + 0x0730a004e, + 0x04f002573, + 0x00a25730a, + 0x0006e6f70, 0x02e2e2e00, 0x077726974, - 0x065207365, + 0x065206e6f, + 0x070007265, + 0x06164206e, + 0x06f70006e, + 0x0203d2025, + 0x0643b2062, + 0x07566203d, + 0x02025232e, + 0x032782025, + 0x0232e3278, + 0x02025232e, + 0x032782025, + 0x0232e3278, + 0x00a00666f, + 0x0726d6174, + 0x0206e6f70, + 0x0006e6f74, + 0x020526e6f, + 0x070007365, 0x07373696f, - 0x06e007265, - 0x061642073, + 0x06e2e2e2e, + 0x000777269, + 0x074652073, 0x065737369, - 0x06f6e0066, - 0x06f726d61, - 0x074207365, + 0x06f6e0072, + 0x065616420, + 0x073657373, + 0x0696f6e00, + 0x0666f726d, + 0x061742073, + 0x065737369, + 0x06f6e0065, + 0x072726f72, + 0x02025733b, + 0x0006e6f74, + 0x020527365, 0x07373696f, - 0x06e006572, - 0x0726f7220, - 0x025733b00, - 0x06e6f7420, - 0x052736573, - 0x073696f6e, - 0x0002f6366, - 0x073002573, - 0x063616368, - 0x065006366, - 0x0732e2e2e, - 0x000706970, - 0x06500666f, - 0x0726b002f, - 0x063667300, - 0x0626f6f74, - 0x063667300, - 0x02d667300, - 0x02d70002f, - 0x063667300, - 0x0626f6f74, - 0x063667300, - 0x02d73002d, - 0x07000626f, - 0x06f743a20, - 0x025733a20, - 0x025730a00, - 0x0626f6f74, - 0x03a202573, - 0x03a202573, - 0x00a002573, - 0x05b25735d, - 0x03a200063, - 0x0616e2774, - 0x020726561, - 0x064202363, - 0x02f636f6e, - 0x0733b2070, - 0x06c656173, - 0x065207265, - 0x0626f6f74, - 0x000236c2f, + 0x06e002f63, + 0x066730025, + 0x073636163, + 0x068650063, + 0x066732e2e, + 0x02e007069, + 0x070650066, + 0x06f726b00, + 0x02f636673, + 0x000626f6f, + 0x074636673, + 0x0002d6673, + 0x0002d7000, + 0x02f636673, + 0x000626f6f, + 0x074636673, + 0x0002d7300, + 0x02d700062, + 0x06f6f743a, + 0x02025733a, + 0x02025730a, + 0x000626f6f, + 0x0743a2025, + 0x0733a2025, + 0x0730a0025, + 0x0735b2573, + 0x05d3a2000, + 0x063616e27, + 0x074207265, + 0x061642023, + 0x0632f636f, + 0x06e733b20, + 0x0706c6561, + 0x073652072, + 0x065626f6f, + 0x07400236c, + 0x02f737461, + 0x074730061, + 0x072703a20, + 0x06f70656e, + 0x020236c2f, 0x073746174, 0x073006172, - 0x0703a206f, + 0x0703a2072, + 0x065616420, + 0x073746174, + 0x073006164, + 0x064723a00, + 0x06172703a, + 0x0206e6f20, + 0x065746865, + 0x072206164, + 0x064726573, + 0x07300236c, + 0x02f332f63, + 0x0746c006f, 0x070656e20, - 0x0236c2f73, - 0x074617473, - 0x000617270, - 0x03a207265, - 0x061642073, - 0x074617473, - 0x000616464, - 0x0723a0061, - 0x072703a20, - 0x06e6f2065, - 0x074686572, - 0x020616464, - 0x072657373, + 0x0236c2f33, + 0x02f63746c, 0x000236c2f, - 0x0332f6374, - 0x06c006f70, - 0x0656e2023, - 0x06c2f332f, - 0x063746c00, + 0x0332f6461, + 0x07461006f, + 0x070656e20, 0x0236c2f33, 0x02f646174, - 0x061006f70, - 0x0656e2023, - 0x06c2f332f, - 0x064617461, - 0x000636f6e, - 0x06e656374, - 0x020307838, - 0x030360063, - 0x06f6e6e65, - 0x063740061, - 0x072702000, - 0x077726974, - 0x065207265, - 0x071007265, - 0x061642072, - 0x065706c79, - 0x000636f6e, - 0x06e656374, - 0x020252e32, - 0x078252e32, - 0x078252e32, - 0x078252e32, - 0x078252e32, - 0x078252e32, - 0x078002573, - 0x00a002361, - 0x02f646174, - 0x061006f70, - 0x0656e2061, - 0x072702f64, - 0x061746100, - 0x077726974, - 0x065206172, - 0x070002e00, - 0x05b637472, - 0x06c2d6420, - 0x0746f2061, - 0x074746163, - 0x068206673, - 0x05d0a0066, - 0x06f726b20, - 0x06661696c, - 0x06564005b, - 0x072656d6f, + 0x06100636f, + 0x06e6e6563, + 0x074203078, + 0x038303600, + 0x0636f6e6e, + 0x065637400, + 0x061727020, + 0x000777269, 0x074652072, + 0x065710072, 0x065616420, - 0x06572726f, - 0x072202825, - 0x073295d0a, - 0x00023632f, - 0x072636f6e, - 0x073006f70, - 0x0656e696e, - 0x067207263, - 0x06f6e7300, + 0x07265706c, + 0x07900636f, + 0x06e6e6563, + 0x07420252e, + 0x03278252e, + 0x03278252e, + 0x03278252e, + 0x03278252e, + 0x03278252e, + 0x032780025, + 0x0730a0023, + 0x0612f6461, + 0x07461006f, + 0x070656e20, + 0x06172702f, + 0x064617461, + 0x000777269, + 0x074652061, + 0x07270002e, + 0x0005b6374, + 0x0726c2d64, + 0x020746f20, + 0x061747461, + 0x063682066, + 0x0735d0a00, + 0x0666f726b, + 0x020666169, + 0x06c656400, 0x05b72656d, 0x06f746520, - 0x077726974, - 0x065206572, - 0x0726f7220, - 0x028257329, - 0x05d0a002f, - 0x070726f63, - 0x02f25642f, - 0x06e6f7465, - 0x000646965, - 0x00023632f, - 0x072636f6e, - 0x073006361, - 0x06e277420, - 0x06f70656e, - 0x02023632f, - 0x072636f6e, - 0x0733b2070, - 0x06c656173, - 0x065207265, - 0x0626f6f74, - 0x000706173, - 0x073776f72, - 0x0643a2000, - 0x063616e27, - 0x074207265, - 0x061642023, - 0x0632f7263, - 0x06f6e733b, - 0x020706c65, - 0x061736520, - 0x07265626f, - 0x06f74000a, - 0x0000a0000, + 0x072656164, + 0x020657272, + 0x06f722028, + 0x02573295d, + 0x00a002363, + 0x02f72636f, + 0x06e73006f, + 0x070656e69, + 0x06e672072, + 0x0636f6e73, + 0x0005b7265, + 0x06d6f7465, + 0x020777269, + 0x074652065, + 0x072726f72, + 0x020282573, + 0x0295d0a00, + 0x02f70726f, + 0x0632f2564, + 0x02f6e6f74, + 0x065006469, + 0x065002363, + 0x02f72636f, + 0x06e730063, + 0x0616e2774, + 0x0206f7065, + 0x06e202363, + 0x02f72636f, + 0x06e733b20, + 0x0706c6561, + 0x073652072, + 0x065626f6f, + 0x074007061, + 0x07373776f, + 0x072643a20, + 0x00063616e, + 0x027742072, + 0x065616420, + 0x023632f72, + 0x0636f6e73, + 0x03b20706c, + 0x065617365, + 0x020726562, + 0x06f6f7400, + 0x00a000a00, 0x000000000, - 0x00004a4e, + 0x00004dea, 0x0, }; diff --git a/gnot/clock.c b/gnot/clock.c index 62fdf5b2db8e8eec2bb659c809cdcbe94bc9f26f..16053961b080be0facf8bb639463d6dd873f7f01 100644 --- a/gnot/clock.c +++ b/gnot/clock.c @@ -22,6 +22,11 @@ void clock(Ureg *ur) { Proc *p; + int user; + + user = (ur->sr&SUPER) == 0; + if(user) + u->dbgreg = ur; SYNCREG[1] = 0x5F; /* clear interrupt */ m->ticks++; @@ -43,12 +48,9 @@ clock(Ureg *ur) else sched(); } - if((ur->sr&SUPER) == 0){ + if(user){ (*(ulong*)(USTKTOP-BY2WD)) += TK2MS(1); /* profiling clock */ - if(u->p->procctl) - procctl(u->p); - if(u->nnote) - notify(ur); + notify(ur); } } } diff --git a/gnot/dat.h b/gnot/dat.h index 22ffb9727d71948f2d2b7cca86422021d48e8685..38681a9d1b0fbc5e26e1d9ddac3560c16c6aedee 100644 --- a/gnot/dat.h +++ b/gnot/dat.h @@ -138,7 +138,7 @@ struct Mach int pfault; int cs; int syscall; - int spinlock; + int load; int intr; int stack[1]; @@ -189,10 +189,10 @@ struct Scsibuf struct User { Proc *p; + FPsave fpsave; /* address of this is known by vdb */ int nerrlab; Label errlab[NERR]; char error[ERRLEN]; - FPsave fpsave; /* address of this is known by vdb */ char elem[NAMELEN]; /* last name element from namec */ Chan *slash; Chan *dot; @@ -206,6 +206,7 @@ struct User Note lastnote; int (*notify)(void*, char*); void *ureg; + void *dbgreg; ushort svsr; ushort svvo; /* diff --git a/gnot/devport.c b/gnot/devport.c index 2b1d16be59e9d00eb83cb9cdf07775b409f37754..2ccc14cf8145615e0188d7551e0369b36be577d0 100644 --- a/gnot/devport.c +++ b/gnot/devport.c @@ -14,7 +14,7 @@ enum { }; Dirtab portdir[]={ - "data", {Qdata}, 0, 0600, + "data", {Qdata}, 0, 0666, }; #define NPORT (sizeof portdir/sizeof(Dirtab)) diff --git a/gnot/fault68020.c b/gnot/fault68020.c index 0a1c8b5c45b5bfdbb6bcb7c8c4138ccf927335ec..ea7e90db2217e041b9446830f8dd659a0798e2b6 100644 --- a/gnot/fault68020.c +++ b/gnot/fault68020.c @@ -55,6 +55,7 @@ fault68020(Ureg *ur, FFrame *f) } insyscall = u->p->insyscall; u->p->insyscall = 1; + u->dbgreg = ur; addr = 0; /* set */ if(f->ssw & DF) addr = f->addr; @@ -92,8 +93,6 @@ fault68020(Ureg *ur, FFrame *f) sprint(buf, "sys: fault %s pc=0x%lux addr=0x%lux", read? "read" : "write", ur->pc, badvaddr); postnote(u->p, 1, buf, NDebug); - if(u->p->procctl) - procctl(u->p); notify(ur); return; } diff --git a/gnot/main.c b/gnot/main.c index 88ab2f06f1cc4c20d40360799ae7add0d759eee3..1a7b910fda2b0430da1392552fe368e30f03e253 100644 --- a/gnot/main.c +++ b/gnot/main.c @@ -146,6 +146,7 @@ userinit(void) p->pgrp = newpgrp(); p->egrp = newegrp(); p->fgrp = newfgrp(); + p->procmode = 0640; strcpy(p->text, "*init*"); strcpy(p->user, eve); diff --git a/gnot/trap.c b/gnot/trap.c index 301f4d92962e5eb7a919c3666f3912818ac93b04..67f345fb73be6278ad174c084a23ab3cd4ddfdfa 100644 --- a/gnot/trap.c +++ b/gnot/trap.c @@ -88,8 +88,10 @@ trap(Ureg *ur) user = !(ur->sr&SUPER); - if(u) + if(u) { u->p->pc = ur->pc; /* BUG */ + u->dbgreg = ur; + } if(user){ sprint(buf, "sys: %s pc=0x%lux", excname(ur->vo), ur->pc); postnote(u->p, 1, buf, NDebug); @@ -99,12 +101,8 @@ trap(Ureg *ur) exit(); } - if(user) { - if(u->p->procctl) - procctl(u->p); - if(u->nnote) - notify(ur); - } + if(user) + notify(ur); } void @@ -147,11 +145,12 @@ notify(Ureg *ur) { ulong sp; - lock(&u->p->debug); - if(u->nnote==0){ - unlock(&u->p->debug); + if(u->p->procctl) + procctl(u->p); + if(u->nnote==0) return; - } + + lock(&u->p->debug); u->p->notepending = 0; if(u->note[0].flag!=NUser && (u->notified || u->notify==0)){ if(u->note[0].flag == NDebug) @@ -259,6 +258,7 @@ syscall(Ureg *aur) u->p->insyscall = 1; ur = aur; + u->dbgreg = aur; u->p->pc = ur->pc; if(ur->sr & SUPER) panic("recursive system call"); @@ -306,15 +306,12 @@ syscall(Ureg *aur) } u->nerrlab = 0; - if(u->p->procctl) - procctl(u->p); - u->p->insyscall = 0; u->p->psstate = 0; if(r0 == NOTED) /* ugly hack */ noted(aur, *(ulong*)(sp+BY2WD)); /* doesn't return */ - if(u->nnote && r0!=FORK){ + if(u->p->procctl || (u->nnote && r0!=FORK)){ ur->r0 = ret; notify(ur); } @@ -326,3 +323,27 @@ execpc(ulong entry) { ((Ureg*)UREGADDR)->pc = entry; } + +/* This routine must save the values of registers the user is not permitted to write + * from devproc and the restore the saved values before returning + */ +void +setregisters(Ureg *xp, char *pureg, char *uva, int n) +{ + ushort sr; + ulong magic; + ushort vo; + char microstate[UREGVARSZ]; + + sr = xp->sr; + vo = xp->vo; + magic = xp->magic; + memmove(microstate, xp->microstate, UREGVARSZ); + + memmove(pureg, uva, n); + + xp->sr = (sr&0xff00) |(xp->sr&0xff); + xp->vo = vo; + xp->magic = magic; + memmove(xp->microstate, microstate, UREGVARSZ); +} diff --git a/pc/clock.c b/pc/clock.c index 24a7ae386c6f1485f4de041133b896d932fc7e68..c43c83098997916624fd7dff8cd54574ce63a9ce 100644 --- a/pc/clock.c +++ b/pc/clock.c @@ -87,9 +87,7 @@ clock(Ureg *ur) * notes for processes that might be spinning * in user mode. */ - if((ur->cs&0xffff) == UESEL){ - if(u->nnote) - notify(ur); - } + if((ur->cs&0xffff) == UESEL) + notify(ur); } } diff --git a/pc/dat.h b/pc/dat.h index 1e6088675caecaae6349266121dc058e11d1273a..a124ad219790ba30f6a24d96569d0bf62b2122ff 100644 --- a/pc/dat.h +++ b/pc/dat.h @@ -130,7 +130,7 @@ struct Mach int pfault; int cs; int syscall; - int spinlock; + int load; int intr; int stack[1]; @@ -149,10 +149,10 @@ typedef void KMap; struct User { Proc *p; + FPsave fpsave; /* address of this is known by vdb */ int nerrlab; Label errlab[NERR]; char error[ERRLEN]; - FPsave fpsave; /* address of this is known by vdb */ char elem[NAMELEN]; /* last name element from namec */ Chan *slash; Chan *dot; @@ -166,6 +166,7 @@ struct User Note lastnote; int (*notify)(void*, char*); void *ureg; + void *dbgreg; /* User registers for debugging in proc */ ulong svcs; /* cs before a notify */ ulong svss; /* ss before a notify */ ulong svflags; /* flags before a notify */ diff --git a/pc/devfloppy.c b/pc/devfloppy.c index 6f08484c335940b79bf703bf08787b0e4c7c3fd0..3b250b3e712a35106d21881e89fe3d6ab159c506 100644 --- a/pc/devfloppy.c +++ b/pc/devfloppy.c @@ -180,14 +180,14 @@ static int cmddone(void*); void Xdelay(int); Dirtab floppydir[]={ - "fd0disk", {Qdata + 0}, 0, 0600, - "fd0ctl", {Qctl + 0}, 0, 0600, - "fd1disk", {Qdata + 1}, 0, 0600, - "fd1ctl", {Qctl + 1}, 0, 0600, - "fd2disk", {Qdata + 2}, 0, 0600, - "fd2ctl", {Qctl + 2}, 0, 0600, - "fd3disk", {Qdata + 3}, 0, 0600, - "fd3ctl", {Qctl + 3}, 0, 0600, + "fd0disk", {Qdata + 0}, 0, 0666, + "fd0ctl", {Qctl + 0}, 0, 0666, + "fd1disk", {Qdata + 1}, 0, 0666, + "fd1ctl", {Qctl + 1}, 0, 0666, + "fd2disk", {Qdata + 2}, 0, 0666, + "fd2ctl", {Qctl + 2}, 0, 0666, + "fd3disk", {Qdata + 3}, 0, 0666, + "fd3ctl", {Qctl + 3}, 0, 0666, }; #define NFDIR 2 /* directory entries/drive */ diff --git a/pc/devrtc.c b/pc/devrtc.c index e390ee3867c4affd051b6419b0a99b07c68a7bcb..5b2b961130d6e6712e84b7776614dca6ba3bacd1 100644 --- a/pc/devrtc.c +++ b/pc/devrtc.c @@ -36,7 +36,7 @@ QLock rtclock; /* mutex on clock operations */ #define NRTC 1 Dirtab rtcdir[]={ - "rtc", {1, 0}, 0, 0600, + "rtc", {1, 0}, 0, 0666, }; ulong rtc2sec(Rtc*); diff --git a/pc/fault386.c b/pc/fault386.c index a1bee342b0d44d7a05e9b28a238589e3d5615f69..3d83cbc037d2205ce5705dcf73da4dac8e123661 100644 --- a/pc/fault386.c +++ b/pc/fault386.c @@ -16,6 +16,7 @@ fault386(Ureg *ur) int user; int n; int insyscall; + char buf[ERRLEN]; insyscall = u->p->insyscall; u->p->insyscall = 1; @@ -25,10 +26,10 @@ fault386(Ureg *ur) n = fault(addr, read); if(n < 0){ if(user){ - pprint("user %s error addr=0x%lux\n", read?"read":"write", addr); - pprint("status=0x%lux pc=0x%lux sp=0x%lux\n", ur->flags, - ur->pc, ur->usp); - pexit("Suicide", 0); + sprint(buf, "sys: fault %s pc=0x%lux addr=0x%lux", + read? "read" : "write", ur->pc, addr); + postnote(u->p, 1, buf, NDebug); + return; } dumpregs(ur); panic("fault: 0x%lux", addr); diff --git a/pc/io.h b/pc/io.h index c988060e57862c1e417edd2d5c5570e9951eb110..c30ea12cd0647b6454c22604176dff739b308425 100644 --- a/pc/io.h +++ b/pc/io.h @@ -3,6 +3,7 @@ */ enum { + Bptvec= 3, /* breakpoints */ Mathemuvec= 7, /* math coprocessor emulation interrupt */ Mathovervec= 9, /* math coprocessor overrun interrupt */ Matherr1vec= 16, /* math coprocessor error interrupt */ diff --git a/pc/main.c b/pc/main.c index 77434e58ce059674afb11ec009624b25cdcbe98d..ec463bfa1e281804833a979ceb7aa433f8df45f7 100644 --- a/pc/main.c +++ b/pc/main.c @@ -18,6 +18,7 @@ main(void) screeninit(); printinit(); print("%ludK bytes of physical memory\n", (conf.base1 + conf.npage1*BY2PG)/1024); +vgadump(); mmuinit(); trapinit(); mathinit(); @@ -96,6 +97,7 @@ userinit(void) p->pgrp = newpgrp(); p->egrp = newegrp(); p->fgrp = newfgrp(); + p->procmode = 0640; strcpy(p->text, "*init*"); strcpy(p->user, eve); diff --git a/pc/trap.c b/pc/trap.c index d9f75d4dfd7b578d6f57da9657723551678d9273..8bde1791013d0ad2281d2a2c8802a83a230a1d00 100644 --- a/pc/trap.c +++ b/pc/trap.c @@ -68,6 +68,19 @@ setvec(int v, void (*r)(Ureg*)) } } +void +debugbpt(Ureg *ur) +{ + char buf[ERRLEN]; + + if(u == 0) + panic("kernel bpt"); + /* restore pc to instruction that caused the trap */ + ur->pc--; + sprint(buf, "sys: breakpoint pc=0x%lux", ur->pc); + postnote(u->p, 1, buf, NDebug); +} + /* * set up the interrupt/trap gates */ @@ -88,7 +101,6 @@ trapinit(void) sethvec(0, intr0, SEGTG, 0); sethvec(1, intr1, SEGTG, 0); sethvec(2, intr2, SEGTG, 0); - sethvec(3, intr3, SEGTG, 0); sethvec(4, intr4, SEGTG, 0); sethvec(5, intr5, SEGTG, 0); sethvec(6, intr6, SEGTG, 0); @@ -128,6 +140,8 @@ trapinit(void) */ sethvec(Syscallvec, intr64, SEGTG, 3); setvec(Syscallvec, (void (*)(Ureg*))syscall); + sethvec(Bptvec, intr3, SEGTG, 3); + setvec(Bptvec, debugbpt); /* * tell the hardware where the table is (and how long) @@ -171,18 +185,18 @@ trapinit(void) void trap(Ureg *ur) { - int v; + int v, user; int c; static int spuriousfloppy; v = ur->trap; - if(v>=256 || ivec[v] == 0){ - if(v == 10 && spuriousfloppy == 0){ - v = Floppyvec; - spuriousfloppy = 1; - }else - panic("bad trap type %d %lux %lux %lux\n", v, ur->pc, int0mask, int1mask); - } + + user = ((ur->cs)&0xffff)!=KESEL && v!=Syscallvec; + if(user) + u->dbgreg = ur; + + if(v>=256 || ivec[v] == 0) + panic("bad trap type %d %lux %lux %lux\n", v, ur->pc, int0mask, int1mask); /* * tell the 8259 that we're done with the @@ -203,7 +217,7 @@ trap(Ureg *ur) /* * syscall does it's own notifying */ - if(((ur->cs)&0xffff)!=KESEL && u->nnote && v!=Syscallvec) + if(user) notify(ur); } @@ -273,6 +287,7 @@ syscall(Ureg *ur) u->p->insyscall = 1; u->p->pc = ur->pc; + u->dbgreg = ur; if((ur->cs)&0xffff == KESEL) panic("recursive system call"); @@ -307,7 +322,7 @@ syscall(Ureg *ur) ur->ax = ret; if(ax == NOTED){ noted(ur, *(ulong*)(sp+BY2WD)); - } else if(u->nnote && ax!=FORK){ + } else if(u->p->procctl || (u->nnote && ax!=FORK)){ notify(ur); } return ret; @@ -322,11 +337,11 @@ notify(Ureg *ur) { ulong sp; - lock(&u->p->debug); - if(u->nnote==0){ - unlock(&u->p->debug); + if(u->p->procctl) + procctl(u->p); + if(u->nnote==0) return; - } + lock(&u->p->debug); u->p->notepending = 0; if(u->note[0].flag!=NUser && (u->notified || u->notify==0)){ if(u->note[0].flag == NDebug) @@ -421,3 +436,22 @@ noted(Ureg *ur, ulong arg0) pexit(u->lastnote.msg, u->lastnote.flag!=NDebug); } } + +/* This routine must save the values of registers the user is not permitted to write + * from devproc and the restore the saved values before returning + */ +void +setregisters(Ureg *xp, char *pureg, char *uva, int n) +{ + ulong flags; + ulong cs; + ulong ss; + + flags = xp->flags; + cs = xp->cs; + ss = xp->ss; + memmove(pureg, uva, n); + xp->flags = (xp->flags & 0xff) | (flags & 0xff00); + xp->cs = cs; + xp->ss = ss; +} diff --git a/pc/vga.c b/pc/vga.c index f0f44d3661c440c639c2c93a2f72ca0ba0f0c262..3c5d05698da538d2ce3ed735a3631e05fc0c552f 100644 --- a/pc/vga.c +++ b/pc/vga.c @@ -24,9 +24,9 @@ struct{ */ #define MAXX 640 #define MAXY 480 -#define XPERIOD 800 /* Hsync freq == 31.47 KHZ */ -#define YPERIOD 525 /* Vsync freq == 59.9 HZ */ -#define YBORDER 2 +int xperiod = 800; /* Hsync freq == 31.47 KHZ */ +int yperiod = 525; /* Vsync freq == 59.9 HZ */ +int yborder = 7; /* top/bottom border of screen */ #define SCREENMEM (0xA0000 | KZERO) @@ -42,6 +42,10 @@ GBitmap gscreen = enum { + EMISCR= 0x3CC, /* control sync polarity */ + EMISCW= 0x3C2, + EFCW= 0x3DA, /* feature control */ + EFCR= 0x3CA, GRX= 0x3CE, /* index to graphics registers */ GR= 0x3CF, /* graphics registers */ Grot= 0x03, /* data rotate register */ @@ -115,6 +119,17 @@ vgardplane(int p) grout(Grms, p&3); } +vgadump(void) +{ + print("misc is 0x%ux fc is 0x%ux\n", inb(EMISCR), inb(EFCR)); + outb(EMISCW, 0xc7);/**/ +} + +vgaclock(void) +{ + outb(EMISCW, 0xc7);/**/ +} + /* * set up like vga mode 0x12 * 16 color (though we only use values 0x0 and 0xf) @@ -138,30 +153,30 @@ vga12(void) * mem without modifications */ msl = overflow = 0; - crout(Cmode, 0xe3); /* turn off address wrap & - * word mode */ + /* turn off address wrap & word mode */ + crout(Cmode, 0xe3); /* last scan line displayed (first is 0) */ crout(Cvde, MAXY-1); overflow |= ((MAXY-1)&0x200) ? 0x40 : 0; overflow |= ((MAXY-1)&0x100) ? 0x2 : 0; /* total scan lines (including retrace) - 2 */ - crout(Cvt, (YPERIOD-2)); - overflow |= ((YPERIOD-2)&0x200) ? 0x20 : 0; - overflow |= ((YPERIOD-2)&0x100) ? 0x1 : 0; + crout(Cvt, (yperiod-2)); + overflow |= ((yperiod-2)&0x200) ? 0x20 : 0; + overflow |= ((yperiod-2)&0x100) ? 0x1 : 0; /* scan lines at which vertcal retrace starts & ends */ - crout(Cvrs, (MAXY+10)); - overflow |= ((MAXY+10)&0x200) ? 0x80 : 0; - overflow |= ((MAXY+10)&0x100) ? 0x4 : 0; - crout(Cvre, ((YPERIOD-1)&0xf)|0xa0); /* also disable vertical interrupts */ + crout(Cvrs, (MAXY+0x0a)); /**/ + overflow |= ((MAXY+0x0a)&0x200) ? 0x80 : 0; + overflow |= ((MAXY+0x0a)&0x100) ? 0x4 : 0; + crout(Cvre, ((yperiod-1)&0xf)|0xa0); /* also disable vertical interrupts */ /* scan lines at which vertical blanking starts & ends */ - crout(Cvbs, (MAXY+YBORDER)); - msl |= ((MAXY+YBORDER)&0x200) ? 0x20 : 0; - overflow |= ((MAXY+YBORDER)&0x100) ? 0x8 : 0; - crout(Cvbe, (YPERIOD-YBORDER)&0x7f); - /* pixels per scan line (always 0 for graphics) */ - crout(Cmsl, 0x40|msl); /* also 10th bit of line compare */ + crout(Cvbs, (MAXY+yborder)); + msl |= ((MAXY+yborder)&0x100) ? 0x20 : 0; + overflow |= ((MAXY+yborder)&0x100) ? 0x8 : 0; + crout(Cvbe, (yperiod-yborder)&0x7f); /* the overflow bits from the other registers */ crout(Cvover, 0x10|overflow); /* also 9th bit of line compare */ + /* pixels per scan line (always 0 for graphics) */ + crout(Cmsl, 0x40|msl); /* also 10th bit of line compare */ srout(Smode, 0x06); /* extended memory, * odd/even off */ diff --git a/port/dev.c b/port/dev.c index c31a1fb9d1c745b9c7aa42ffac6f591a03cf943e..19f707119a71d87b85dac14f7879431d294491d4 100644 --- a/port/dev.c +++ b/port/dev.c @@ -38,8 +38,8 @@ devdir(Chan *c, Qid qid, char *n, long length, char *user, long perm, Dir *db) db->mtime = db->atime; db->hlength = 0; db->length = length; - memmove(db->uid, user, NAMELEN); - memmove(db->gid, user, NAMELEN); + strncpy(db->uid, user, NAMELEN); + strncpy(db->gid, eve, NAMELEN); } int @@ -170,6 +170,7 @@ devopen(Chan *c, int omode, Dirtab *tab, int ntab, Devgen *gen) { int i; Dir dir; + ulong t, mode; static int access[] = { 0400, 0200, 0600, 0100 }; for(i=0;; i++) @@ -180,8 +181,16 @@ devopen(Chan *c, int omode, Dirtab *tab, int ntab, Devgen *gen) case 0: break; case 1: - if(eqqid(c->qid, dir.qid)){ - if((access[omode&3] & dir.mode) == access[omode&3]) + if(eqqid(c->qid, dir.qid)) { + if(strcmp(u->p->user, dir.uid) == 0) /* User */ + mode = dir.mode; + else if(strcmp(u->p->user, eve) == 0) /* Bootes is group */ + mode = dir.mode<<3; + else + mode = dir.mode<<6; /* Other */ + + t = access[omode&3]; + if((t & mode) == t) goto Return; error(Eperm); } diff --git a/port/devarp.c b/port/devarp.c index 4face11c5e7b97669f7595297c97c4a38cc77bfc..bb4399f725cd280137845378c9e0316af1646ffc 100644 --- a/port/devarp.c +++ b/port/devarp.c @@ -58,9 +58,9 @@ enum{ }; Dirtab arptab[]={ - "stats", {arpstatqid}, 0, 0600, - "ctl", {arpctlqid}, 0, 0600, - "data", {arpdataqid}, 0, 0600, + "stats", {arpstatqid}, 0, 0666, + "ctl", {arpctlqid}, 0, 0666, + "data", {arpdataqid}, 0, 0666, }; #define Narptab (sizeof(arptab)/sizeof(Dirtab)) diff --git a/port/devbit.c b/port/devbit.c index 1ea11522ded8fcbe695740fb16f5435387aa70e6..cc7d6fa197bb6aa810982abea655e882250b2de4 100644 --- a/port/devbit.c +++ b/port/devbit.c @@ -129,9 +129,9 @@ enum{ }; Dirtab bitdir[]={ - "bitblt", {Qbitblt}, 0, 0600, - "mouse", {Qmouse}, 0, 0600, - "screen", {Qscreen}, 0, 0400, + "bitblt", {Qbitblt}, 0, 0666, + "mouse", {Qmouse}, 0, 0666, + "screen", {Qscreen}, 0, 0444, }; #define NBIT (sizeof bitdir/sizeof(Dirtab)) diff --git a/port/devcons.c b/port/devcons.c index de62846f677d4050e920064248b4dd356c843084..f6ea4850a849f35b36f09ff0f5077b2edde008cd 100644 --- a/port/devcons.c +++ b/port/devcons.c @@ -334,21 +334,21 @@ enum{ }; Dirtab consdir[]={ - "cons", {Qcons}, 0, 0600, - "cputime", {Qcputime}, 6*NUMSIZE, 0600, - "lights", {Qlights}, 0, 0600, - "noise", {Qnoise}, 0, 0600, - "null", {Qnull}, 0, 0600, - "pgrpid", {Qpgrpid}, NUMSIZE, 0600, - "pid", {Qpid}, NUMSIZE, 0600, - "ppid", {Qppid}, NUMSIZE, 0600, - "rcons", {Qrcons}, 0, 0600, - "time", {Qtime}, NUMSIZE, 0600, - "user", {Quser}, 0, 0600, - "klog", {Qklog}, 0, 0400, - "msec", {Qmsec}, NUMSIZE, 0400, - "clock", {Qclock}, 2*NUMSIZE, 0400, - "sysstat", {Qsysstat}, 0, 0600, + "cons", {Qcons}, 0, 0666, + "cputime", {Qcputime}, 6*NUMSIZE, 0666, + "lights", {Qlights}, 0, 0666, + "noise", {Qnoise}, 0, 0666, + "null", {Qnull}, 0, 0666, + "pgrpid", {Qpgrpid}, NUMSIZE, 0666, + "pid", {Qpid}, NUMSIZE, 0666, + "ppid", {Qppid}, NUMSIZE, 0666, + "rcons", {Qrcons}, 0, 0666, + "time", {Qtime}, NUMSIZE, 0666, + "user", {Quser}, 0, 0644, + "klog", {Qklog}, 0, 0444, + "msec", {Qmsec}, NUMSIZE, 0444, + "clock", {Qclock}, 2*NUMSIZE, 0444, + "sysstat", {Qsysstat}, 0, 0444, "swap", {Qswap}, 0, 0666, }; @@ -432,14 +432,6 @@ consopen(Chan *c, int omode) int ch; switch(c->qid.path){ - case Quser: - if(omode==(OWRITE|OTRUNC)){ - if(strcmp(u->p->user, eve) == 0) - u->p->user[0] = 0; - else - error(Eperm); - } - break; case Qrcons: if(conf.cntrlp) error(Eperm); @@ -616,7 +608,7 @@ consread(Chan *c, void *buf, long n, ulong offset) mp = MACHP(id); j += sprint(&xbuf[j], "%d %d %d %d %d %d %d %d\n", id, mp->cs, mp->intr, mp->syscall, mp->pfault, - mp->tlbfault, mp->tlbpurge, m->spinlock); + mp->tlbfault, mp->tlbpurge, mp->load); } } return readstr(offset, buf, n, xbuf); @@ -717,8 +709,6 @@ conswrite(Chan *c, void *va, long n, ulong offset) break; case Quser: - if(u->p->user[0]) /* trying to overwrite /dev/user */ - error(Eperm); if(offset >= NAMELEN-1) return 0; if(offset+n >= NAMELEN-1) @@ -754,7 +744,6 @@ conswrite(Chan *c, void *va, long n, ulong offset) mp->pfault = 0; mp->tlbfault = 0; mp->tlbpurge = 0; - mp->spinlock = 0; } } break; diff --git a/port/devip.c b/port/devip.c index 8e8cddf2ad37b82eea7e1a855bab0df9a8374b25..2cf07a885adc78c9c6cd4ffc10a843c7b2be0451 100644 --- a/port/devip.c +++ b/port/devip.c @@ -57,10 +57,10 @@ enum }; Dirtab ipsubdir[]={ - "listen", {iplistenqid}, 0, 0600, - "local", {iplportqid}, 0, 0600, - "remote", {iprportqid}, 0, 0600, - "status", {ipstatusqid}, 0, 0600, + "listen", {iplistenqid}, 0, 0666, + "local", {iplportqid}, 0, 0666, + "remote", {iprportqid}, 0, 0666, + "status", {ipstatusqid}, 0, 0666, }; void diff --git a/port/deviproute.c b/port/deviproute.c index 2a6abb6f721f949b5b557f3dc4ec498a073f1ec2..0b2167618bf864082b9d9138fb86efc9e651e297 100644 --- a/port/deviproute.c +++ b/port/deviproute.c @@ -190,7 +190,7 @@ enum{ Qdata, }; Dirtab iproutetab[]={ - "iproute", {Qdata}, 0, 0600, + "iproute", {Qdata}, 0, 0666, }; #define Niproutetab (sizeof(iproutetab)/sizeof(Dirtab)) diff --git a/port/devlance.c b/port/devlance.c index 37f6bda500e6836472f79f7ea4292b6630941c84..42d22fe412b4e56d12522be900777c2d606931bc 100644 --- a/port/devlance.c +++ b/port/devlance.c @@ -511,12 +511,12 @@ lanceinit(void) lancedir[i].qid.path = CHDIR|STREAMQID(i, Lchanqid); lancedir[i].qid.vers = 0; lancedir[i].length = 0; - lancedir[i].perm = 0600; + lancedir[i].perm = 0666; } strcpy(lancedir[Ntypes].name, "stats"); lancedir[Ntypes].qid.path = Lstatsqid; lancedir[Ntypes].length = 0; - lancedir[Ntypes].perm = 0600; + lancedir[Ntypes].perm = 0666; } diff --git a/port/devnonet.c b/port/devnonet.c index 0537d998e2f14fc50d0bb7a8aac1fb285341442e..e54330387289451a93cbf2addc04f19e1458c652 100644 --- a/port/devnonet.c +++ b/port/devnonet.c @@ -70,11 +70,11 @@ enum { Dirtab *nonetdir; Dirtab nosubdir[]={ - "addr", {Naddrqid}, 0, 0600, - "listen", {Nlistenqid}, 0, 0600, - "raddr", {Nraddrqid}, 0, 0600, - "ruser", {Nruserqid}, 0, 0600, - "stats", {Nstatsqid}, 0, 0600, + "addr", {Naddrqid}, 0, 0666, + "listen", {Nlistenqid}, 0, 0666, + "raddr", {Nraddrqid}, 0, 0666, + "ruser", {Nruserqid}, 0, 0666, + "stats", {Nstatsqid}, 0, 0666, }; /* @@ -127,7 +127,7 @@ nonetreset(void) nonetdir[i].qid.path = CHDIR|STREAMQID(i, Nchanqid); nonetdir[i].qid.vers = 0; nonetdir[i].length = 0; - nonetdir[i].perm = 0600; + nonetdir[i].perm = 0777; } /* @@ -137,7 +137,7 @@ nonetreset(void) nonetdir[i].qid.path = Ncloneqid; nonetdir[i].qid.vers = 0; nonetdir[i].length = 0; - nonetdir[i].perm = 0600; + nonetdir[i].perm = 0666; } void @@ -1432,8 +1432,15 @@ nokproc(void *arg) * loop through all active interfaces */ for(ifc = noifc; ifc < &noifc[conf.nnoifc]; ifc++){ - if(ifc->wq==0 || !canlock(ifc)) + if(ifc->wq==0) continue; + lock(ifc); + if(ifc->wq==0){ + unlock(ifc); + continue; + } + ifc->ref++; + unlock(ifc); /* * loop through all active conversations @@ -1468,7 +1475,7 @@ nokproc(void *arg) } qunlock(cp); } - unlock(ifc); + nonetfreeifc(ifc); } tsleep(&nonetkr, return0, 0, MSrexmit/2); } diff --git a/port/devproc.c b/port/devproc.c index a7fefbf75de6285630986a7d90da4ab91332a9a4..f06dfe0e110dfafd1f8dbbf9c957ef29e6572a19 100644 --- a/port/devproc.c +++ b/port/devproc.c @@ -26,10 +26,10 @@ Dirtab procdir[]={ "ctl", {Qctl}, 0, 0000, "mem", {Qmem}, 0, 0000, "note", {Qnote}, 0, 0000, - "notepg", {Qnotepg}, 0, 0200, + "notepg", {Qnotepg}, 0, 0000, "proc", {Qproc}, sizeof(Proc), 0000, - "segment", {Qsegment}, 0, 0400, - "status", {Qstatus}, STATSIZE, 0400, + "segment", {Qsegment}, 0, 0444, + "status", {Qstatus}, STATSIZE, 0444, "text", {Qtext}, 0, 0000, }; @@ -72,7 +72,7 @@ procgen(Chan *c, Dirtab *tab, int ntab, int s, Dir *dp) if(pid == 0) return 0; sprint(buf, "%d", pid); - devdir(c, (Qid){CHDIR|((s+1)<user, CHDIR|0500, dp); + devdir(c, (Qid){CHDIR|((s+1)<user, CHDIR|0555, dp); return 1; } if(s >= NPROC) @@ -141,11 +141,9 @@ procopen(Chan *c, int omode) Segment *s; Chan *tc; - if(c->qid.path == CHDIR){ - if(omode != OREAD) - error(Eperm); - goto done; - } + if(c->qid.path & CHDIR) + return devopen(c, omode, 0, 0, procgen); + p = proctab(SLOT(c->qid)); pg = p->pgrp; if(p->pid != PID(c->qid)) @@ -155,6 +153,8 @@ procopen(Chan *c, int omode) switch(QID(c->qid)){ case Qtext: + if(omode != OREAD) + error(Eperm); tc = proctext(c, p); tc->offset = 0; @@ -164,6 +164,8 @@ procopen(Chan *c, int omode) case Qnote: case Qmem: case Qsegment: + case Qproc: + case Qstatus: break; case Qnotepg: @@ -172,13 +174,6 @@ procopen(Chan *c, int omode) c->pgrpid.path = pg->index+1; c->pgrpid.vers = pg->pgrpid; break; - - case Qdir: - case Qproc: - case Qstatus: - if(omode != OREAD) - error(Eperm); - break; default: pprint("unknown qid in devopen\n"); error(Egreg); @@ -187,11 +182,9 @@ procopen(Chan *c, int omode) /* Affix pid to qid */ if(p->state != Dead) c->qid.vers = p->pid; - done: - c->mode = omode; - c->flag |= COPEN; - c->offset = 0; - return c; + + return devopen(c, omode, 0, 0, procgen); +; } void @@ -212,6 +205,9 @@ procwstat(Chan *c, char *db) Proc *p; Dir d; + if(c->qid.path&CHDIR) + error(Eperm); + convM2D(db, &d); p = proctab(SLOT(c->qid)); if(p->pid != PID(c->qid)) @@ -349,6 +345,8 @@ procread(Chan *c, void *va, long n, ulong offset) return 0; if(offset+n > j) n = j-offset; + if(n == 0 && offset == 0) + errors("no segments"); memmove(a, &statbuf[offset], n); return n; } @@ -425,6 +423,8 @@ procwrite(Chan *c, void *va, long n, ulong offset) break; case Qnote: + if(p->kp) + errors("can' t note kproc"); k = kmap(p->upage); up = (User*)VA(k); if(up->p != p){ @@ -460,7 +460,9 @@ proctext(Chan *c, Proc *p) Segment *s; s = p->seg[TSEG]; - if(s==0 || p->state==Dead) + if(s == 0) + errors("no text segment"); + if(p->state==Dead) error(Eprocdied); lock(s); @@ -546,48 +548,42 @@ procstopwait(Proc *p, int ctl) void procctlreq(Proc *p, char *va, int n) { - if(n >= 4) { - if(strncmp(va, "exit", 4) == 0) { - if(p->state == Broken) - ready(p); - return; - } - if(strncmp(va, "stop", 4) == 0) { - procstopwait(p, Proc_stopme); - return; - } - if(strncmp(va, "kill", 4) == 0) { - postnote(p, 0, "sys: killed", NExit); - p->procctl = Proc_exitme; - return; - } - if(strncmp(va, "hang", 4) == 0) { - p->hang = 1; - return; - } - } + char buf[NAMELEN]; - if(n >= 8 && strncmp(va, "waitstop", 8) == 0) { - procstopwait(p, 0); - return; + if(n > NAMELEN) + n = NAMELEN; + strncpy(buf, va, n); + + if(strncmp(buf, "exit", 4) == 0) { + if(p->state == Broken) + ready(p); } - - if(n >= 9 && strncmp(va, "startstop", 9) == 0) { + else if(strncmp(buf, "stop", 4) == 0) + procstopwait(p, Proc_stopme); + else if(strncmp(buf, "kill", 4) == 0) { + if(p->state == Stopped) + ready(p); + postnote(p, 0, "sys: killed", NExit); + p->procctl = Proc_exitme; + } + else if(strncmp(buf, "hang", 4) == 0) + p->hang = 1; + else if(strncmp(buf, "waitstop", 8) == 0) + procstopwait(p, 0); + else if(strncmp(buf, "startstop", 9) == 0) { if(p->state != Stopped) errors("not stopped"); p->procctl = Proc_traceme; ready(p); procstopwait(p, Proc_traceme); - return; } - if(n >= 5 && strncmp(va, "start", 5) == 0) { + else if(strncmp(buf, "start", 5) == 0) { if(p->state != Stopped) errors("not stopped"); ready(p); - return; } - - error(Ebadctl); + else + error(Ebadctl); } int diff --git a/port/devroot.c b/port/devroot.c index 863e6a7a5bc9becf2e85a5a3bfa4a79edc317265..b832c92f58850349a23ffefc7895adaf881acaf4 100644 --- a/port/devroot.c +++ b/port/devroot.c @@ -23,16 +23,16 @@ extern long kfslen; extern ulong kfscode[]; Dirtab rootdir[]={ - "bin", {Qbin|CHDIR}, 0, 0700, - "boot", {Qboot}, 0, 0700, - "dev", {Qdev|CHDIR}, 0, 0700, - "env", {Qenv|CHDIR}, 0, 0700, - "proc", {Qproc|CHDIR}, 0, 0700, + "bin", {Qbin|CHDIR}, 0, 0777, + "boot", {Qboot}, 0, 0777, + "dev", {Qdev|CHDIR}, 0, 0777, + "env", {Qenv|CHDIR}, 0, 0777, + "proc", {Qproc|CHDIR}, 0, 0777, }; #define NROOT (sizeof rootdir/sizeof(Dirtab)) Dirtab rootpdir[]={ - "cfs", {Qcfs}, 0, 0700, - "kfs", {Qkfs}, 0, 0700, + "cfs", {Qcfs}, 0, 0777, + "kfs", {Qkfs}, 0, 0777, }; Dirtab *rootmap[sizeof rootpdir/sizeof(Dirtab)]; int nroot; diff --git a/port/devscsi.c b/port/devscsi.c index ad3aed63ac6ba17bf9bff240fb604208f97d0b28..7a418f74d77f79cf8fa37bddd8b0735300a2894e 100644 --- a/port/devscsi.c +++ b/port/devscsi.c @@ -67,9 +67,9 @@ enum }; static Dirtab scsidir[]={ - "cmd", {Qcmd}, 0, 0600, - "data", {Qdata}, 0, 0600, - "debug", {Qdebug}, 1, 0600, + "cmd", {Qcmd}, 0, 0666, + "data", {Qdata}, 0, 0666, + "debug", {Qdebug}, 1, 0666, }; #define NSCSI (sizeof scsidir/sizeof(Dirtab)) @@ -83,16 +83,16 @@ static int scsigen1(Chan *c, long qid, Dir *dp) { if (qid == CHDIR) - devdir(c, (Qid){qid,0}, ".", 0, 0500, dp); + devdir(c, (Qid){qid,0}, ".", 0, eve, 0555, dp); else if (qid == 1) - devdir(c, (Qid){qid,0}, "id", 1, 0600, dp); + devdir(c, (Qid){qid,0}, "id", 1, eve, 0666, dp); else if (qid&CHDIR) { char name[2]; name[0] = '0'+((qid>>4)&7), name[1] = 0; - devdir(c, (Qid){qid,0}, name, 0, 0500, dp); + devdir(c, (Qid){qid,0}, name, 0, eve, 0555, dp); } else { Dirtab *tab = &scsidir[(qid&7)-1]; - devdir(c, (Qid){qid,0}, tab->name, tab->length, tab->perm, dp); + devdir(c, (Qid){qid,0}, tab->name, tab->length, eve, tab->perm, dp); } return 1; } diff --git a/port/devwren.c b/port/devwren.c index a52dc7f2c084cd5149a36b0a4cd54611b7969f92..60d7da777f9d5bd189dc494df4144aefb40406b6 100644 --- a/port/devwren.c +++ b/port/devwren.c @@ -93,7 +93,7 @@ wrengen(Chan *c, Dirtab *tab, long ntab, long s, Dir *dirp) name[NAMELEN] = 0; qid.path = MKQID(drive, s); l = (pp->end - pp->start) * dp->bytes; - devdir(c, qid, name, l, eve, 0600, dirp); + devdir(c, qid, name, l, eve, 0666, dirp); return 1; } diff --git a/port/pgrp.c b/port/pgrp.c index 7848df9628fb873a012f121628a5e348e907da2e..9bbd87176bf86a7d9fbf8f044929f5fe72afe5bf 100644 --- a/port/pgrp.c +++ b/port/pgrp.c @@ -87,8 +87,8 @@ pgrpnote(Pgrp *pg, char *a, long n, int flag) memmove(buf, a, n); buf[n] = 0; p = proctab(0); - for(i=0; ipgrp == pg){ + for(i=0; ipgrp == pg && p->kp == 0) { lock(&p->debug); if(p->pid==0 || p->pgrp!=pg){ unlock(&p->debug); diff --git a/port/portdat.h b/port/portdat.h index 62ed151826a07ca36771912ddb02df38e855a434..8aacaf7d219bdd068bed0099115f4dd854bcc262 100644 --- a/port/portdat.h +++ b/port/portdat.h @@ -657,6 +657,7 @@ extern char *statename[]; extern Palloc palloc; extern Image swapimage; extern char eve[]; +extern int nrdy; #define CHDIR 0x80000000L #define CHAPPEND 0x40000000L diff --git a/port/proc.c b/port/proc.c index f1901889a68c658b2db1822a4e9ae675aba1ee39..0324a8d1ef2a5d5893b97956717eaf063dd6a66e 100644 --- a/port/proc.c +++ b/port/proc.c @@ -31,7 +31,8 @@ typedef struct Proc *tail; }Schedq; -Schedq runhiq, runloq; +Schedq runhiq, runloq; +int nrdy; char *statename[]={ /* BUG: generate automatically */ "Dead", @@ -95,8 +96,6 @@ sched(void) { uchar procstate[64]; Proc *p; - ulong tlbvirt, tlbphys; - void (*f)(ulong, ulong); if(u){ splhi(); @@ -147,6 +146,7 @@ ready(Proc *p) rq->head = p; rq->tail = p; + nrdy++; p->state = Ready; unlock(&runhiq); splx(s); @@ -182,6 +182,7 @@ loop: if(p->rnext == 0) rq->tail = 0; rq->head = p->rnext; + nrdy--; if(p->state != Ready) print("runproc %s %d %s\n", p->text, p->pid, statename[p->state]); unlock(&runhiq); @@ -674,6 +675,7 @@ kproc(char *name, void (*func)(void *), void *arg) */ p = newproc(); p->psstate = 0; + p->procmode = 0644; p->kp = 1; p->upage = newpage(1, 0, USERADDR|(p->pid&0xFFFF)); k = kmap(p->upage); diff --git a/power/clock.c b/power/clock.c index 73df99bb986c9543db0c3aff73dd31c2cd8a31c6..ead923f6f54e45fb8d4bfc0fa3321114f77daa8d 100644 --- a/power/clock.c +++ b/power/clock.c @@ -76,7 +76,7 @@ clockinit(void) void clock(Ureg *ur) { - int i; + int i, nrun = 0; Proc *p; if(ur->cause & INTR2){ @@ -85,15 +85,21 @@ clock(Ureg *ur) m->ticks++; if(m->machno == 0){ p = m->proc; - if(p) + if(p) { + nrun++; p->time[p->insyscall]++; + } for(i=1; iproc; - if(p) + if(p) { p->time[p->insyscall]++; + nrun++; + } } } + nrun = (nrdy+nrun)*1000; + m->load = (m->load+nrun)/2; } duartslave(); if(active.exiting && active.machs&(1<machno)){ diff --git a/power/dat.h b/power/dat.h index 438d7907d4b9e86f484a85a75134fb0edae4aea1..4d7839d68ee408c258857e18f2db01a4932f542b 100644 --- a/power/dat.h +++ b/power/dat.h @@ -144,7 +144,7 @@ struct Mach int pfault; int cs; int syscall; - int spinlock; + int load; int intr; int stack[1]; diff --git a/power/devbit3.c b/power/devbit3.c index 1e9f68f190e5f45c1c3fb61745e6b8b80eba94c6..3ab0e93036b6d7ae1f7e18e5d7b28c09175e446b 100644 --- a/power/devbit3.c +++ b/power/devbit3.c @@ -135,7 +135,6 @@ bit3read(Chan *c, void *buf, long n, ulong offset) { Bit3msg *bp; int docpy; - ulong t0; switch(c->qid.path){ case 1: @@ -150,11 +149,9 @@ bit3read(Chan *c, void *buf, long n, ulong offset) qlock(&bit3); bit3send(bp, READ, buf, n); qunlock(&bit3); - t0 = MACHP(0)->ticks; do n = bp->rcount; while(n == 0); - m->spinlock += MACHP(0)->ticks - t0; }else{ /* * use bit3 buffer. lock the buffer till the reply @@ -165,11 +162,9 @@ bit3read(Chan *c, void *buf, long n, ulong offset) qlock(&bit3); bit3send(bp, READ, bit3.buf, n); qunlock(&bit3); - t0 = MACHP(0)->ticks; do n = bp->rcount; while(n == 0); - m->spinlock += MACHP(0)->ticks - t0; memmove(buf, bit3.buf, n); qunlock(&bit3.buflock); } diff --git a/power/devrtc.c b/power/devrtc.c index da0eb911d3dbd9ccc9a35c844f6a6dc9c281fb2e..a0e04f6058378e1e092b68ee2a8311ba132b061b 100644 --- a/power/devrtc.c +++ b/power/devrtc.c @@ -44,7 +44,7 @@ QLock rtclock; /* mutex on nvram operations */ static Dirtab rtcdir[]={ "rtc", {Qrtc, 0}, 0, 0644, - "nvram", {Qnvram, 0}, 0, 0644, + "nvram", {Qnvram, 0}, 0, 0600, }; #define NRTC (sizeof(rtcdir)/sizeof(rtcdir[0])) @@ -97,12 +97,6 @@ rtcstat(Chan *c, char *dp) Chan* rtcopen(Chan *c, int omode) { - if(c->qid.path==Qrtc && (omode&(OWRITE|OTRUNC))) - if(strcmp(u->p->user, "bootes") != 0) /* BUG */ - error(Eperm); - if(c->qid.path == Qnvram) - if(strcmp(u->p->user, "bootes") != 0) /* BUG */ - error(Eperm); return devopen(c, omode, rtcdir, NRTC, devgen); } diff --git a/power/main.c b/power/main.c index 42ef900da4f9cca1bd0e86574e9da6397d05fa23..3c1414c38fe13d8a0110c9aa70546601d7c93430 100644 --- a/power/main.c +++ b/power/main.c @@ -253,7 +253,7 @@ userinit(void) p->pgrp = newpgrp(); p->egrp = newegrp(); p->fgrp = newfgrp(); - p->procmode = 0644; + p->procmode = 0640; strcpy(p->text, "*init*"); strcpy(p->user, eve); diff --git a/ss/dat.h b/ss/dat.h index 5bf244c7ccab8f5480def5080dd58caea64a7ed7..03ea08a4ec9b91a9ed7fef96786ea54c1d3b8c60 100644 --- a/ss/dat.h +++ b/ss/dat.h @@ -145,7 +145,7 @@ struct Mach int pfault; int cs; int syscall; - int spinlock; + int load; int intr; int stack[1]; diff --git a/ss/main.c b/ss/main.c index b848863042adcbbd84d64224f1240b9d021166ba..7b9b6685e47a723a6c468c017b4cd3a3353c724c 100644 --- a/ss/main.c +++ b/ss/main.c @@ -131,6 +131,7 @@ userinit(void) p->pgrp = newpgrp(); p->egrp = newegrp(); p->fgrp = newfgrp(); + p->procmode = 0640; strcpy(p->text, "*init*"); strcpy(p->user, eve);