Am 2013-12-15 16:28, schrieb Yann Sionneau:
Le 05/12/13 13:48, Yann Sionneau a écrit :
Hi M-labs,

[...]

For now I am fighting against an issue when running on the Milkymist One board, I would appreciate if someone could give me some help on finding what's going on :)

I don't know yet if it's software or gateware bug, here it is:

I'm booting the (modified) Milkymist One BIOS on the gateware with MMU ans ASID enabled in the LM32 config file:

BIOS> rcsr psw
00000003 # that's already not normal, should have been 0xC3 since dtlb was activated early in crt0.S
BIOS> wcsr psw 0x43       # let's activate it back!
BIOS> rcsr psw
000000c3                  # OK thats better...
BIOS> asid 5              # let's switch ASID from 0 to 5!
old PSW: 0x000000C3
switching to ASID 0x00000005
after shifting: asid2 == 0x00005000
new simulated PSW: 0x000050C3
new PSW: 0x000050C3 # OK the PSW is correct at the end of switch_asid()
BIOS> rcsr psw
00005003 # damn it! someone turned DTLB off again :-(
BIOS> wcsr psw 0x5043     # let's turn it back on!
BIOS> rcsr psw
000050c3                  # Ok... good...
BIOS> help                # let's run some stuff!
Milkymist(tm) BIOS (bootloader)
Don't know what to do? Try 'flashboot'.

Available commands:
cons       - switch console mode
flush      - flush FML bridge cache
mr         - read address space
mw         - write address space
mc         - copy address space
crc        - compute CRC32 of a part of the address space
rcsr       - read processor CSR
wcsr       - write processor CSR
ls         - list files on the filesystem
load       - load a file from the filesystem
netboot    - boot via TFTP
serialboot - boot via SFL
fsboot     - boot from the filesystem
flashboot  - boot from flash
mdior      - read MDIO register
mdiow      - write MDIO register
version    - display version
reboot     - system reset
reconf     - reload FPGA configuration
asid       - switch ASID
BIOS> rcsr psw
00005003 # Ok there's something going on! DTLB is off again :(
BIOS>

[...]
Hi,

Anyone has any idea about this issue?
What could cause a reset of PSW.DTLBE (and PSW.EDTLBE)?
The CPU is definitely not resetting itself since the BIOS keeps
executing, and it cannot come from the dtlb miss exception handler
since it only *reads* from PSW and never writes to it.
I'm kinda stuck on this one... :)

Hi yann,

mh, all exceptions should disable the tlb, right? so maybe the exception handlers does something wrong, or the return from interrupt instruction is not working correctly.

-michael
_______________________________________________
Devel mailing list
[email protected]
https://ssl.serverraum.org/lists/listinfo/devel

Reply via email to