Johnny Billquist wrote:
[..]
Just a few short comments. The VAX internal registers are not memory
mapped, ever. That would be against the architecture specification.
There are special instructions you use to access the processor internal
registers.
That's what I understood reading the available docs, but since I'm doing a
lot of UTSL while trying to find out how other people done with other
VAXes, there are questions come up when I read code like this:
/* $NetBSD: vsbus.h,v 1.18 2008/03/11 05:34:02 matt Exp $ */
[..]
/*
* Some chip addresses and constants, same on all VAXstations.
*/
#define VS_CFGTST 0x20020000 /* config register */
#define VS_REGS 0x20080000 /* Misc CPU internal regs */
#define NI_ADDR 0x20090000 /* Ethernet address */
#define DZ_CSR 0x200a0000 /* DZ11-compatible chip csr */
#define VS_CLOCK 0x200b0000 /* clock chip address */
#define SCA_REGS 0x200c0000 /* disk device addresses */
#define NI_BASE 0x200e0000 /* LANCE CSRs */
#define NI_IOSIZE (128 * VAX_NBPG) /* IO address size */
#define KA49_SCSIMAP 0x27000000 /* KA49 SCSI SGMAP */
/*
"Misc CPU internal regs" mapped at 0x20080000 in the address space.
I've asked about three times how this could be meant since I found nowhere
that CPU Registers are got mapped to memory addresses.
The rest of the definitions are straight forward, no question about that.
However, there are various bus adapters, which maps addresses back and
forth, which can be relevant, and which you might need to understand
more about.
The same goes for the MMU in general, and how buses work.
At first I'm trying to find out if I need to support some of this stuff at
all. As I wrote above I've created my own bus "rtbus" in that kernel
hierarchy since I don't want to shoot in foots that are not mine.
Sorry that I can't be of more help. The questions you ask are just going
to take too much time to work through. You can sit down with an existing
CPU implementation and start by understanding that one (the uVAX II for
example), and then, once you understand the details of that one, you
should have a pretty straight forward time of getting your board up and
running. If you don't have the time for those studies, I doubt you'll
pull this off.
Johnny
Johnny I could sit down reading manuals, searching for more manuals,
trying to learn all about the internal structures of stone age computers
until I'm old and gray (...I'm already got some grey hair, I'm 49,
getting 50 in march this year) or I can try just to ask exactly here,
where I could meet people that are knowing about this stuff, are fans of
that stuffi, with long known to me names are and hoping for some help from them.
We all here, inclusive me know that what I wan't todo is good for nothing
at all, It wouldn't save the planet or our children, I't wouldn't kick the
US people to shredder their weapons, it woudn't influence Kim Jong Un or
Ahmadinejad's opinions, nor it will generate soe cash.
It is only fun and it pushes people from all over the world to talk togheter.
How would you decide?