From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----_=_NextPart_001_01C907A5.166DC79D" Date: Tue, 26 Aug 2008 10:56:38 -0700 Message-ID: <621112A569DAE948AD25CCDCF1C075331AB363@dolly.ntdom.cupdx> References: <20080825204841.3806af18@dazone><9c0fd5d9e2824e819ff59e94c3dd7ddd@proxima.alt.za><20080825232702.4735b7df@dazone><621112A569DAE948AD25CCDCF1C075331AB362@dolly.ntdom.cupdx> <9f3897940808260824k4e6059bdrb82bd4820ca8db81@mail.gmail.com> From: "Benjamin Huntsman" To: "Fans of the OS Plan 9 from Bell Labs" <9fans@9fans.net> Subject: Re: [9fans] Anyone handy with Alpha assembler? Topicbox-Message-UUID: 07d76d9a-ead4-11e9-9d60-3106f5b1d025 This is a multi-part message in MIME format. ------_=_NextPart_001_01C907A5.166DC79D Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable >I think trap.c would be easier to work with or extend to other >instructions, l.s might give better performance.=20 That was my concern as well. The Alpha compiler doesn't optimize much. = Not that optimization is going to matter much on an EV4. The problem I'm running into now is that by the time we get to the = illegal routine in trap.c, obtaining the faulting instruction isn't so = easy. From the Alpha Architecture Reference, 19.4.2: "...The saved PC at(SP+00) is the address of the instruction after the = instruction that=20 caused the bpt, bugchk, gentrap, and opDec synchronous traps." So it looks like trap() in trap.c doesn't actually get passed the faulty = instruction, but just the contents o a0...a2, etc. I'm thinking the = best way to do this without making sweeping (and slow) changes will be = to test for and potentially jump to the emulations from illegal0 in l.s, = and let the existing code handle the exceptions. >PALcode would be probably the best option if it was properly patched = during boot, but I >don't know where one might get apropriate SDK nowadays. I've got the EBSDK, which was the PALCode developer's kit from the = AlphaPC boards. I don't think there's any pressing need to patch up the = PALCode though. The OSF/1 PALCode that Plan 9 runs with is already = designed for UNIX-like systems. Besides, since they're all = implementation-specific, it'd be a bad idea to try to run the EBSDK = PALCode on a GS-series machine, should anyone want to run Plan 9 on one = in the future. :) >Good luck with Alpha hacking, and remember about memory barriers... >("Program Counter is not reliable source of information about which >instruction caused the exception" - It's like a mantra in Alpha >manuals...) Thanks for the tip! I'll keep it in mind. -Ben ------_=_NextPart_001_01C907A5.166DC79D Content-Type: application/ms-tnef; name="winmail.dat" Content-Transfer-Encoding: base64 eJ8+IicRAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAEIgAcAGAAAAElQTS5NaWNy b3NvZnQgTWFpbC5Ob3RlADEIAQ2ABAACAAAAAgACAAEEgAEALwAAAFJFOiBbOWZhbnNdIEFueW9u ZSBoYW5keSB3aXRoIEFscGhhIGFzc2VtYmxlcj8ARxABBYADAA4AAADYBwgAGgAKADgAJgACAGsB ASCAAwAOAAAA2AcIABoACgA4ACYAAgBrAQEJgAEAIQAAADU3Q0E3RDY3QUJBMzJFNDBCMDMwNDg4 MkM2RDE2RUVGAEkHAQOQBgCkDQAAOQAAAAMAJgAAAAAAAwA2AAAAAABAADkAncdtFqUHyQEeAD0A AQAAAAUAAABSRTogAAAAAAIBRwABAAAANQAAAGM9VVM7YT0gO3A9Q29uY29yZGlhIFBvcnRsYTts PURPTExZLTA4MDgyNjE3NTYzOFotODYAAAAAHgBJAAEAAAAvAAAAUmU6IFs5ZmFuc10gQW55b25l IGhhbmR5IHdpdGggQWxwaGEgYXNzZW1ibGVyPwAAQABOAIDHr9OPB8kBHgBaAAEAAAAYAAAAOWZh bnMtYm91bmNlc0A5ZmFucy5uZXQAAgFbAAEAAABNAAAAAAAAAIErH6S+oxAZnW4A3QEPVAIAAAAA OWZhbnMtYm91bmNlc0A5ZmFucy5uZXQAU01UUAA5ZmFucy1ib3VuY2VzQDlmYW5zLm5ldAAAAAAC AVwAAQAAAB0AAABTTVRQOjlGQU5TLUJPVU5DRVNAOUZBTlMuTkVUAAAAAB4AXQABAAAADAAAAFBh d2VsIExhc2VrAAIBXgABAAAAPwAAAAAAAACBKx+kvqMQGZ1uAN0BD1QCAAAAAFBhd2VsIExhc2Vr AFNNVFAAcGF3ZWwubGFzZWtAZ21haWwuY29tAAACAV8AAQAAABsAAABTTVRQOlBBV0VMLkxBU0VL QEdNQUlMLkNPTQAAHgBmAAEAAAAFAAAAU01UUAAAAAAeAGcAAQAAABgAAAA5ZmFucy1ib3VuY2Vz QDlmYW5zLm5ldAAeAGgAAQAAAAUAAABTTVRQAAAAAB4AaQABAAAAFgAAAHBhd2VsLmxhc2VrQGdt YWlsLmNvbQAAAB4AcAABAAAAKwAAAFs5ZmFuc10gQW55b25lIGhhbmR5IHdpdGggQWxwaGEgYXNz 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 Mi40NzM1YjdkZkBkYXpvbmU+PDYyMTExMkE1NjlEQUU5NDhBRDI1Q0NEQ0YxQzA3NTMzMUFCMzYy QGRvbGx5Lm50ZG9tLmN1cGR4PiA8OWYzODk3OTQwODA4MjYwODI0azRlNjA1OWJkcmI4MmJkNDgy MGNhOGRiODFAbWFpbC5nbWFpbC5jb20+AAAAHgBHEAEAAAAPAAAAbWVzc2FnZS9yZmM4MjIAAAsA 8hABAAAAHwDzEAEAAABuAAAAUgBFACUAMwBBACAAWwA5AGYAYQBuAHMAXQAgAEEAbgB5AG8AbgBl ACAAaABhAG4AZAB5ACAAdwBpAHQAaAAgAEEAbABwAGgAYQAgAGEAcwBzAGUAbQBiAGwAZQByACUA MwBGAC4ARQBNAEwAAAAAAAsA9hAAAAAAQAAHMJCVekyQB8kBQAAIMEuMchalB8kBAwDeP69vAAAD APE/CQQAAB4A+D8BAAAAEgAAAEJlbmphbWluIEh1bnRzbWFuAAAAAgH5PwEAAABWAAAAAAAAANyn QMjAQhAatLkIACsv4YIBAAAAAAAAAC9PPUNPTkNPUkRJQSBQT1JUTEFORC9PVT1DVVBEWC9DTj1S RUNJUElFTlRTL0NOPUJIVU5UU01BTgAAAB4A+j8BAAAAFQAAAFN5c3RlbSBBZG1pbmlzdHJhdG9y AAAAAAIB+z8BAAAAHgAAAAAAAADcp0DIwEIQGrS5CAArL+GCAQAAAAAAAAAuAAAAAwD9P+QEAAAD ABlAAAAAAAMAGkAAAAAAAwAdQAAAAAADAB5AAAAAAB4AMEABAAAACgAAAEJIVU5UU01BTgAAAB4A MUABAAAACgAAAEJIVU5UU01BTgAAAB4AMkABAAAAGAAAADlmYW5zLWJvdW5jZXNAOWZhbnMubmV0 AB4AM0ABAAAAFgAAAHBhd2VsLmxhc2VrQGdtYWlsLmNvbQAAAB4AOEABAAAACgAAAEJIVU5UU01B TgAAAB4AOUABAAAAAgAAAC4AAAADAHZA/////wsAKQAAAAAACwAjAAAAAAADAAYQdAVZqQMABxB1 BQAAAwAQEAEAAAADABEQAAAAAB4ACBABAAAAZQAAAElUSElOS1RSQVBDV09VTERCRUVBU0lFUlRP V09SS1dJVEhPUkVYVEVORFRPT1RIRVJJTlNUUlVDVElPTlMsTFNNSUdIVEdJVkVCRVRURVJQRVJG T1JNQU5DRVRIQVRXQVNNWUMAAAAAAgF/AAEAAAA7AAAAPDYyMTExMkE1NjlEQUU5NDhBRDI1Q0NE Q0YxQzA3NTMzMUFCMzYzQGRvbGx5Lm50ZG9tLmN1cGR4PgAAqKA= ------_=_NextPart_001_01C907A5.166DC79D--