Hi
Looking for any info on structure of /dev/smem on Uniflex running on 68010 Tektronix 4404 - or something similar!
I can see it looks like a bunch of tables of pointers. But to what?
Adam
Hi
Looking for any info on structure of /dev/smem on Uniflex running on 68010 Tektronix 4404 - or something similar!
I can see it looks like a bunch of tables of pointers. But to what?
Adam
Can you share what you see? How big is it?
It is, apparently, a view of “system memory” as contrasted with /dev/pmem which is “physical memory”.
Yes, my understanding its actually kernel tables and the like.
The first 256 bytes look like some sort of jump table to me:
00000000 0003 FFF0 0001 2D86 0001 07B4 0001 07D8 |......-.........|
00000010 0001 05B0 0001 054A 0001 0542 0001 053A |.......J...B...:|
00000020 0001 0552 0001 05B8 0001 052A 0001 0532 |...R.......*...2|
00000030 0074 09FA 0074 09FA 0074 09FA 0074 09FA |.t...t...t...t..|
00000040 0074 09FA 0074 09FA 0074 09FA 0074 09FA |.t...t...t...t..|
00000050 0074 09FA 0074 09FA 0074 09FA 0074 09FA |.t...t...t...t..|
00000060 0074 0A72 0001 04B4 0006 009A 0001 062E |.t.r............|
00000070 0074 0A72 0001 0642 0001 330C 0074 3956 |.t.r...B..3..t9V|
00000080 0001 04D8 0001 04EC 0001 0502 0001 050A |................|
00000090 0001 0512 0001 051A 0001 0522 0001 0522 |..........."..."|
000000A0 0001 0522 0001 0522 0001 0522 0001 2D70 |..."..."..."..-p|
000000B0 0001 4554 0001 3A34 0001 0522 0001 04D8 |..ET..:4..."....|
000000C0 0074 09FA 0074 09FA 0074 09FA 0074 09FA |.t...t...t...t..|
000000D0 0074 09FA 0074 09FA 0074 09FA 0074 09FA |.t...t...t...t..|
000000E0 0074 09FA 0074 09FA 0074 09FA 0074 09FA |.t...t...t...t..|
000000F0 0074 09FA 0074 09FA 0074 09FA 0074 09FA |.t...t...t...t..|
00000100 FFFF FFFF 0001 0000 0000 0000 0000 FFFF |................|
00000110 0000 0000 0000 FF00 0000 1FFF 0100 0020 |............... |
00000120 0000 0000 0000 0000 0000 0000 0000 0000 |................|
Is it as large as the whole of memory? Could this just be usual contents of the first words of memory? See for example here.
I am working on the assumption that /dev/pmem is the straight mapping to physical memory but interesting thought.
Is it possible that smem is ROM and pmem is RAM??
Looks to me like that starts with the 68000 trap table. Look how the first two entries put the stack at the top and jump somewhere believable. The pattenr for the vectors looks credibly like that too.
I thought the Uniflex source was floating around somewhere or was that just the 6809 code ?
Yes, its all 6809 / 6800 versions of Uniflex.
If /dev/smem is really showing first 256 bytes of memory, unclear what /dev/pmem is for…
Presuming some where there is a struct that defines what is in these memory maps.
Well it may not be physical 0. The 68010 has a vector base register. Does the hardware present any different sets of mappings in different modes - eg physical memory / supervisor memory being not the same beast ?
68000 doesn’t have any built-in vm support - but this Tek4404 does support VM; ie all addresses are in a logical 8M space and mapped to the physical 2M of RAM ibn 4k pages.
68010 has full virtualization support for an external MMU including instruction restart in hardware. Dumping the VBR register might also tell you something because the vectors don’t have to be at physical 0 on a 68010 so if there’s some kind of offset in /dev/smem it may well match the value in the VBR
Failing that some apps that fill a page with an unlikely to be repeated pattern and a scan of both ought to give you some idea of how the mappings relate