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--