Re: Booting on RiscPC

Mike Pumford <[email protected]> Tue, 26 Mar 2019 20:24:58 +0000
Newsgroups gmane.os.netbsd.ports.acorn32
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------38A36D63E0F9036533B479D3
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit

On 25/03/2019 21:22, Mike Pumford wrote:
> On 25/03/2019 19:09, Mike Pumford wrote:
>> I'm in the process of setting up a more up to date current tree for 
>> myself where I'll apply these patches and see what happens.
>>
> Well I got a kernel with patches booting and got the same division by 
> zero panic you did. However I had a working keyboard so was able to get 
> a backtrace.
> 
> Division by zero is in statclock (called from hardclock().
> 
> There also seems to be something really bad in the podule detection code 
> as it didn't pick up any of the podules properly. :(
> 
> I'll keep on diggind and see if I can work it out.
>
Well the good new is that I've got a booting kernel.

You need an updated version of the timerfix.patch (attached). Division 
by zero was in setstatclockrate() and has been there forever.

The podule problem is a lot more awkward to solve as it relates to the 
fact that NetBSD-current now uses GCC 7. GCC7 has dropped support for 
the armv3 instruction set which means that the underlying compiler 
architecture has changed for acorn32. Whilst the strongARM is a v4 
instruction set CPU there is a hardware issue on the RiscPC that stops 
the ldrh instruction from working. This meant that the podule 
identification code was losing the top byte of the podule vendor/device 
IDs.

build.sh can be persuaded to revert to GCC 6. To do this you need to set 
the environment:
HAVE_GCC=6

You also need to add '-a arm' to the build.sh options when building things.

These force build.sh to use gcc.old rather than gcc and to select the 
armv3 backend. This may make it very difficult for the acorn32 port to 
continue to exist as its going to require local patches to gcc to keep 
things going.

If we can persuade gcc7 not not generate ldrh but otherwise be armv4 it 
might be workable but thats way outside my skillset. :(

Mike

--------------38A36D63E0F9036533B479D3
Content-Type: text/plain; charset=UTF-8;
 name="timerfix2.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="timerfix2.patch"

SW5kZXg6IHN5cy9hcmNoL2FybS9pb21kL2lvbWRfY2xvY2suYwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJD
UyBmaWxlOiAvY3Zzcm9vdC9zcmMvc3lzL2FyY2gvYXJtL2lvbWQvaW9tZF9jbG9jay5jLHYK
cmV0cmlldmluZyByZXZpc2lvbiAxLjI5CmRpZmYgLXUgLXIxLjI5IGlvbWRfY2xvY2suYwot
LS0gc3lzL2FyY2gvYXJtL2lvbWQvaW9tZF9jbG9jay5jCTE4IE1heSAyMDEyIDIxOjA5OjUw
IC0wMDAwCTEuMjkKKysrIHN5cy9hcmNoL2FybS9pb21kL2lvbWRfY2xvY2suYwkyNiBNYXIg
MjAxOSAyMDoxNzoyNyAtMDAwMApAQCAtMTQyLDEyICsxNDIsMjkgQEAKIAlzYy0+c2NfaW90
ID0gY2EtPmNhX2lvdDsKIAlzYy0+c2NfaW9oID0gY2EtPmNhX2lvaDsgLyogVGhpcyBpcyBh
IGhhbmRsZSBmb3IgdGhlIHdob2xlIElPTUQgKi8KIAotCWNsb2NrX3NjID0gc2M7CiAJbXV0
ZXhfaW5pdCgmdG1yX2xvY2ssIE1VVEVYX0RFRkFVTFQsIElQTF9DTE9DSyk7CiAKLQkvKiBD
YW5ub3QgZG8gYW55dGhpbmcgdW50aWwgY3B1X2luaXRjbG9ja3MoKSBoYXMgYmVlbiBjYWxs
ZWQgKi8KKwkvKiBTZXQgdXAgY291bnRkb3duIHRpbWVyIGZvciBkZWxheSgpICovCisKKwl0
aW1lcjBfY291bnQgPSBUSU1FUl9GUkVRVUVOQ1kgLyBoejsKKworCWJ1c19zcGFjZV93cml0
ZV8xKHNjLT5zY19pb3QsIHNjLT5zY19pb2gsCisJICAgIElPTURfVDBMT1csICh0aW1lcjBf
Y291bnQgPj4gMCkgJiAweGZmKTsKKwlidXNfc3BhY2Vfd3JpdGVfMShzYy0+c2NfaW90LCBz
Yy0+c2NfaW9oLAorCSAgICBJT01EX1QwSElHSCwgKHRpbWVyMF9jb3VudCA+PiA4KSAmIDB4
ZmYpOworCisJLyogcmVsb2FkIHRoZSBjb3VudGVyICovCisKKwlidXNfc3BhY2Vfd3JpdGVf
MShzYy0+c2NfaW90LCBzYy0+c2NfaW9oLAorCSAgICBJT01EX1QwR08sIDApOworCisJLyog
TGVhdmUgdGhlIHJlc3Qgb2Ygb3VyIHNldHVwIGZvciBjcHVfaW5pdGNsb2NrcygpICAqLwor
CWNsb2NrX3NjID0gc2M7CiAKIAlhcHJpbnRfbm9ybWFsKCJcbiIpOworCS8qIEluaXQgdGlt
ZWNvdW50ZXIgZWFybHkgKi8KKwl0Y19pbml0KCZpb21kX3RpbWVjb3VudGVyKTsKKwogfQog
CiAKQEAgLTIxNiwyMCArMjMzLDIxIEBACiBzZXRzdGF0Y2xvY2tyYXRlKGludCBuZXdoeikK
IHsKIAlpbnQgY291bnQ7Ci0gICAgCi0JY291bnQgPSBUSU1FUl9GUkVRVUVOQ1kgLyBuZXdo
ejsKLQotCWFwcmludF9ub3JtYWwoIlNldHRpbmcgc3RhdGNsb2NrIHRvICVkSHogKCVkIHRp
Y2tzKVxuIiwgbmV3aHosIGNvdW50KTsKLQotCWJ1c19zcGFjZV93cml0ZV8xKGNsb2NrX3Nj
LT5zY19pb3QsIGNsb2NrX3NjLT5zY19pb2gsCi0JICAgIElPTURfVDFMT1csIChjb3VudCA+
PiAwKSAmIDB4ZmYpOwotCWJ1c19zcGFjZV93cml0ZV8xKGNsb2NrX3NjLT5zY19pb3QsIGNs
b2NrX3NjLT5zY19pb2gsCi0JICAgIElPTURfVDFISUdILCAoY291bnQgPj4gOCkgJiAweGZm
KTsKLQotCS8qIHJlbG9hZCB0aGUgY291bnRlciAqLwotCi0JYnVzX3NwYWNlX3dyaXRlXzEo
Y2xvY2tfc2MtPnNjX2lvdCwgY2xvY2tfc2MtPnNjX2lvaCwKLQkgICAgSU9NRF9UMUdPLCAw
KTsKKwlpZiAoIG5ld2h6ICkgeworCQljb3VudCA9IFRJTUVSX0ZSRVFVRU5DWSAvIG5ld2h6
OworCQkKKwkJYXByaW50X25vcm1hbCgiU2V0dGluZyBzdGF0Y2xvY2sgdG8gJWRIeiAoJWQg
dGlja3MpXG4iLCBuZXdoeiwgY291bnQpOworCQkKKwkJYnVzX3NwYWNlX3dyaXRlXzEoY2xv
Y2tfc2MtPnNjX2lvdCwgY2xvY2tfc2MtPnNjX2lvaCwKKwkJCQkgIElPTURfVDFMT1csIChj
b3VudCA+PiAwKSAmIDB4ZmYpOworCQlidXNfc3BhY2Vfd3JpdGVfMShjbG9ja19zYy0+c2Nf
aW90LCBjbG9ja19zYy0+c2NfaW9oLAorCQkJCSAgSU9NRF9UMUhJR0gsIChjb3VudCA+PiA4
KSAmIDB4ZmYpOworCQkKKwkJLyogcmVsb2FkIHRoZSBjb3VudGVyICovCisJCQorCQlidXNf
c3BhY2Vfd3JpdGVfMShjbG9ja19zYy0+c2NfaW90LCBjbG9ja19zYy0+c2NfaW9oLAorCQkJ
CSAgSU9NRF9UMUdPLCAwKTsKKwl9CiB9CiAKIApAQCAtMjcwLDE4ICsyODgsNiBAQAogCiAJ
YXByaW50X25vcm1hbCgiY2xvY2s6IGh6PSVkIHN0YXRoeiA9ICVkIHByb2ZoeiA9ICVkXG4i
LCBoeiwgc3RhdGh6LCBwcm9maHopOwogCi0JdGltZXIwX2NvdW50ID0gVElNRVJfRlJFUVVF
TkNZIC8gaHo7Ci0KLQlidXNfc3BhY2Vfd3JpdGVfMShjbG9ja19zYy0+c2NfaW90LCBjbG9j
a19zYy0+c2NfaW9oLAotCSAgICBJT01EX1QwTE9XLCAodGltZXIwX2NvdW50ID4+IDApICYg
MHhmZik7Ci0JYnVzX3NwYWNlX3dyaXRlXzEoY2xvY2tfc2MtPnNjX2lvdCwgY2xvY2tfc2Mt
PnNjX2lvaCwKLQkgICAgSU9NRF9UMEhJR0gsICh0aW1lcjBfY291bnQgPj4gOCkgJiAweGZm
KTsKLQotCS8qIHJlbG9hZCB0aGUgY291bnRlciAqLwotCi0JYnVzX3NwYWNlX3dyaXRlXzEo
Y2xvY2tfc2MtPnNjX2lvdCwgY2xvY2tfc2MtPnNjX2lvaCwKLQkgICAgSU9NRF9UMEdPLCAw
KTsKLQogCWNsb2NraXJxID0gaW50cl9jbGFpbShJUlFfVElNRVIwLCBJUExfQ0xPQ0ssICJ0
bXIwIGhhcmQgY2xrIiwKIAkgICAgY2xvY2toYW5kbGVyLCAwKTsKIApAQCAtMzAwLDcgKzMw
Niw2IEBACiAjaWZkZWYgRElBR05PU1RJQwogCWNoZWNrZGVsYXkoKTsKICNlbmRpZgotCXRj
X2luaXQoJmlvbWRfdGltZWNvdW50ZXIpOwogfQogCiAKQEAgLTM0MywyOCArMzQ4LDc1IEBA
CiAKIAogLyoKLSAqIEVzdGltYXRlZCBsb29wIGZvciBuIG1pY3Jvc2Vjb25kcworICogRGVs
YXkgcm91dGluZSB1c2luZyBpb21kIGNvdW50ZG93biB0aW1lci4KKyAqIEFsc28gcHJvdmlk
ZXMgYW4gZXN0aW1hdGVkIGltcGxlbWVudGF0aW9uIGluIGNhc2UgaXQgZ2V0cyBjYWxsZWQK
KyAqIGJlZm9yZSB0aGUgY291bnRkb3duIHRpbWVyIGlzIHNldCB1cCAKICAqLwogCi0vKiBO
ZWVkIHRvIHJlLXdyaXRlIHRoaXMgdG8gdXNlIHRoZSB0aW1lcnMgKi8KLQotLyogT25lIGRh
eSBzb29uIEkgd2lsbCBhY3R1YWxseSBkbyB0aGlzICovCi0KIGludCBkZWxheWNvdW50ID0g
MTAwOwogCiB2b2lkCiBkZWxheSh1X2ludCBuKQogewotCXZvbGF0aWxlIHVfaW50IG4yOwot
CXZvbGF0aWxlIHVfaW50IGk7Ci0KLQlpZiAobiA9PSAwKSByZXR1cm47Ci0JbjIgPSBuOwot
CXdoaWxlIChuMi0tID4gMCkgewotCQlpZiAoY3B1dHlwZSA9PSBDUFVfSURfU0ExMTApCS8q
IFhYWCAtIFNlcmlvdXNseSBncm9zcyBoYWNrICovCi0JCQlmb3IgKGkgPSBkZWxheWNvdW50
OyAtLWk7KTsKLQkJZWxzZQotCQkJZm9yIChpID0gODsgLS1pOyk7CisJaWYgKGNsb2NrX3Nj
KSB7CisJCWludCBzOworCQl1X2ludCBsYXN0OworCQl1X2ludCBjdXI7CisJCXVfaW50IGFj
YyA9IDA7CisJCS8qIEFkanVzdCB0aGUgZGVsYXkgY291bnQgdG8gYSB0aWNrIGNvdW50ICov
CisJCW4gKj0gVElDS1NfUEVSX01JQ1JPU0VDT05EOyAKKworCQkvKgorCQkgKiBMYXRjaCB0
aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgdGltZXIgYW5kIHRoZW4gcmVhZCBpdC4KKwkJICog
VGhpcyBndWFyYW50ZWVzIGFuIGF0b21pYyByZWFkaW5nIG9mIHRoZSB0aW1lLgorCQkgKi8K
KwkJcyA9IHNwbGhpZ2goKTsKKwkJYnVzX3NwYWNlX3dyaXRlXzEoY2xvY2tfc2MtPnNjX2lv
dCwgY2xvY2tfc2MtPnNjX2lvaCwKKwkJICAgIElPTURfVDBMQVRDSCwgMCk7CisKKwkJbGFz
dCA9IGJ1c19zcGFjZV9yZWFkXzEoY2xvY2tfc2MtPnNjX2lvdCwgY2xvY2tfc2MtPnNjX2lv
aCwKKwkJICAgIElPTURfVDBMT1cpOworCQlsYXN0ICs9IChidXNfc3BhY2VfcmVhZF8xKGNs
b2NrX3NjLT5zY19pb3QsIGNsb2NrX3NjLT5zY19pb2gsCisJCSAgICBJT01EX1QwSElHSCkg
PDwgOCk7CisJCXNwbHgocyk7CisJCS8qIElPTUQgdGltZXIgaXMgY291bnRkb3duLiBTbyBu
b3JtYWxseSBsYXN0ID4gY3VyICYKKwkJICogbGFzdCAtIGN1ciBpcyBvdXIgZGVsdGEuIElm
IHRoZSB0aW1lciB3cmFwcyB3aGlsZSB3ZQorCQkgKiBhcmUgcG9sbGluZyByZXN1bHQgd2ls
bCBiZSBjdXIgPD0gbGFzdCBpbiB0aGlzIGNhc2Ugd2UKKwkJICogbmVlZCB0aW1lcjBfY291
bnQgLSBjdXIgKyBsYXN0IGZvciB0aGUgaW50ZXJ2YWwgYXMgdGhlIAorCQkgKiBpbnRlcnZh
bCBpcyBmcm9tIGxhc3QgZG93biB0byAwIGFuZCB0aGVuIGZyb20gdGltZXIwX2NvdW50CisJ
CSAqIGRvd24gdG8gY3VyLiAKKwkJICovCisJCXdoaWxlIChhY2MgPCBuKSB7CisJCQlzID0g
c3BsaGlnaCgpOworCQkJYnVzX3NwYWNlX3dyaXRlXzEoY2xvY2tfc2MtPnNjX2lvdCwgY2xv
Y2tfc2MtPnNjX2lvaCwKKwkJCSAgICBJT01EX1QwTEFUQ0gsIDApOworCisJCQljdXIgPSBi
dXNfc3BhY2VfcmVhZF8xKGNsb2NrX3NjLT5zY19pb3QsCisJCQkgICAgY2xvY2tfc2MtPnNj
X2lvaCwgSU9NRF9UMExPVyk7CisJCQljdXIgKz0gKGJ1c19zcGFjZV9yZWFkXzEoY2xvY2tf
c2MtPnNjX2lvdCwgCisJCQkgICAgY2xvY2tfc2MtPnNjX2lvaCwgSU9NRF9UMEhJR0gpIDw8
IDgpOworCisJCQlzcGx4KHMpOworCQkJaWYgKGN1ciA+IGxhc3QpCisJCQkJYWNjICs9IHRp
bWVyMF9jb3VudCAtIGN1ciArIGxhc3Q7CisJCQllbHNlCisJCQkJYWNjICs9IGxhc3QgLSBj
dXI7CisJCQkvKiBVcGRhdGUgb3VyIGxhc3QgdGltZSAqLworCQkJbGFzdCA9IGN1cjsKKwkJ
fQorCX0KKwllbHNlIHsKKwkJdm9sYXRpbGUgdV9pbnQgbjI7CisJCXZvbGF0aWxlIHVfaW50
IGk7CisKKwkJaWYgKG4gPT0gMCkgcmV0dXJuOworCQluMiA9IG47CisJCXdoaWxlIChuMi0t
ID4gMCkgeworCQkJaWYgKGNwdXR5cGUgPT0gQ1BVX0lEX1NBMTEwKQkvKiBYWFggLSBTZXJp
b3VzbHkgZ3Jvc3MgaGFjayAqLworCQkJCWZvciAoaSA9IGRlbGF5Y291bnQ7IC0taTspOwor
CQkJZWxzZQorCQkJCWZvciAoaSA9IDg7IC0taTspOworCQl9CiAJfQogfQogCkluZGV4OiBz
eXMvYXJjaC9hY29ybjMyL2NvbmYvZmlsZXMuYWNvcm4zMgo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBm
aWxlOiAvY3Zzcm9vdC9zcmMvc3lzL2FyY2gvYWNvcm4zMi9jb25mL2ZpbGVzLmFjb3JuMzIs
dgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMjkKZGlmZiAtdSAtcjEuMjkgZmlsZXMuYWNvcm4z
MgotLS0gc3lzL2FyY2gvYWNvcm4zMi9jb25mL2ZpbGVzLmFjb3JuMzIJMTcgSmFuIDIwMDkg
MjI6NTY6MzQgLTAwMDAJMS4yOQorKysgc3lzL2FyY2gvYWNvcm4zMi9jb25mL2ZpbGVzLmFj
b3JuMzIJMjYgTWFyIDIwMTkgMjA6MTc6MjcgLTAwMDAKQEAgLTE0LDYgKzE0LDExIEBACiAj
CiBpbmNsdWRlICJkZXYvYXRhL2ZpbGVzLmF0YSIKIAorIyBJbmNsdWRlIElPTUQgc3VwcG9y
dAorIyBGaXJzdCBzbyB0aGF0IHRoZSBJT01EIGlzIHNldCB1cCBiZWZvcmUgYWxsIHRoZSBk
ZXZpY2VzIHRoYXQgdXNlIGl0cworIyByZXNvdXJjZXMgKGxpa2UgdGhlIGludGVycnVwdCBj
b250cm9sbGVyIGFuZCBjbG9jaykKK2luY2x1ZGUgImFyY2gvYXJtL2lvbWQvZmlsZXMuaW9t
ZCIKKwogIyBQSU9DIChQZXJpcGhlcmFsIElPIENvbnRyb2xsZXIpIGRldmljZQogIyBwYXJl
bnQgdG8gd2RjLCBmZGMsIGNvbSBhbmQgbHB0CiBkZXZpY2UJcGlvYyB7IFtvZmZzZXQgPSAt
MV0sIFtkYWNrID0gLTFdLCBbaXJxID0gLTFdIH0KQEAgLTQ2LDkgKzUxLDYgQEAKICMgTWVt
b3J5IGRpc2sgZHJpdmVyCiBmaWxlCWFyY2gvYWNvcm4zMi9kZXYvbWRfaG9va3MuYwkJbWQg
JiBtZW1vcnlfZGlza19ob29rcwogCi0jIEluY2x1ZGUgSU9NRCBzdXBwb3J0Ci1pbmNsdWRl
ICJhcmNoL2FybS9pb21kL2ZpbGVzLmlvbWQiCi0KICMgUG9kdWxlIGJ1cyBkZXZpY2UKIGlu
Y2x1ZGUgImRldi9wb2R1bGVidXMvZmlsZXMucG9kdWxlYnVzIgogCg==
--------------38A36D63E0F9036533B479D3--