Open axel-h opened 2 years ago
What did the previous output look like?
Node 0 of 1
IOPT levels: 0
IPC buffer: 0x3f6000
Empty slots: [1102 --> 8192)
sharedFrames: [0 --> 0)
userImageFrames: [30 --> 1028)
userImagePaging: [14 --> 19)
untypeds: [1028 --> 1102)
Initial thread domain: 0
Initial thread cnode size: 13
List of untypeds
------------------
Paddr | Size | Device
0 | 23 | 1
0x800000 | 21 | 1
0xa03000 | 12 | 1
0xa04000 | 14 | 1
0xa08000 | 15 | 1
0xa10000 | 16 | 1
0xa20000 | 17 | 1
0xa40000 | 18 | 1
0xa80000 | 19 | 1
0xb00000 | 20 | 1
0xc00000 | 22 | 1
0x1000000 | 24 | 1
0x2000000 | 25 | 1
0x4000000 | 26 | 1
0x8000000 | 27 | 1
0x2ff00000 | 20 | 1
0x30000000 | 29 | 1
0x50000000 | 29 | 1
0x70000000 | 29 | 1
0x90000000 | 29 | 1
0xb0000000 | 29 | 1
0xd0000000 | 29 | 1
0xf0000000 | 27 | 1
0xf8000000 | 26 | 1
0xfc000000 | 25 | 1
0xfe000000 | 24 | 1
0xff000000 | 23 | 1
0xff800000 | 22 | 1
0xffc00000 | 21 | 1
0xffe00000 | 20 | 1
0xfff00000 | 19 | 1
0xfff80000 | 18 | 1
0xfffc0000 | 17 | 1
0xfffe0000 | 16 | 1
0xffff0000 | 15 | 1
0xffff8000 | 14 | 1
0xffffc000 | 13 | 1
0xffffe000 | 12 | 1
0xfffff000 | 11 | 1
0xfffff800 | 10 | 1
0xfffffc00 | 9 | 1
0xfffffe00 | 8 | 1
0xffffff00 | 7 | 1
0xffffff80 | 6 | 1
0xffffffc0 | 5 | 1
0xffffffe0 | 4 | 1
0x10000000 | 16 | 0
0x1042d000 | 12 | 0
0x1042e000 | 13 | 0
0x10430000 | 16 | 0
0x10440000 | 18 | 0
0x10480000 | 19 | 0
0x10500000 | 20 | 0
0x10600000 | 21 | 0
0x10800000 | 23 | 0
0x11000000 | 24 | 0
0x12000000 | 25 | 0
0x14000000 | 26 | 0
0x18000000 | 27 | 0
0x20000000 | 27 | 0
0x28000000 | 26 | 0
0x2c000000 | 25 | 0
0x2e000000 | 24 | 0
0x2f100000 | 20 | 0
0x2f200000 | 21 | 0
0x2f400000 | 22 | 0
0x2f800000 | 22 | 0
0x2fc00000 | 21 | 0
0x2fe00000 | 19 | 0
0x2fe80000 | 18 | 0
0x2fef8800 | 11 | 0
0x2fef9000 | 12 | 0
0x2fefa000 | 13 | 0
0x2fefc000 | 14 | 0
Untyped summary
1 untypeds of size 4
1 untypeds of size 5
1 untypeds of size 6
1 untypeds of size 7
1 untypeds of size 8
1 untypeds of size 9
1 untypeds of size 10
2 untypeds of size 11
4 untypeds of size 12
3 untypeds of size 13
3 untypeds of size 14
2 untypeds of size 15
4 untypeds of size 16
2 untypeds of size 17
4 untypeds of size 18
4 untypeds of size 19
5 untypeds of size 20
5 untypeds of size 21
4 untypeds of size 22
3 untypeds of size 23
4 untypeds of size 24
4 untypeds of size 25
4 untypeds of size 26
4 untypeds of size 27
6 untypeds of size 29
ok. Thanks for the improvement. Two comments:
both of these mean you can easily paste the data into a spread sheet or input file without manually munging the data.
It's now:
-------------+------+----------+-------
Phys Addr | Size | Type | Slot
-------------+------+----------+-------
0 | 2^23 | device | 341
0x800000 | 2^21 | device | 342
0xa00000 | - | reserved | -
0xa03000 | 2^12 | device | 343
0xa04000 | 2^14 | device | 344
0xa08000 | 2^15 | device | 345
0xa10000 | 2^16 | device | 346
...
@kent-mcleod: I can also make this a separate function also. It's just that for what I usually do the memory map in the physical order more is more useful than the cap slot order. And the "Untyped summary" has not much use at all, as is mixes caps for free memory and device memory.
@kent-mcleod: I can also make this a separate function also. It's just that for what I usually do the memory map in the physical order more is more useful than the cap slot order. And the "Untyped summary" has not much use at all, as is mixes caps for free memory and device memory.
So maybe you just want to add a new function that prints a human readable physical memory map and uses the bootinfo_t struct as it's input?
On i.MX6/sabre is prints this now: