Commit Graph

50 Commits

Author SHA1 Message Date
Markus Fröschle
12620d8b5e Fixed ACRs for running BaS in flash (hang on MMU enable) 2014-09-29 19:08:38 +00:00
Markus Fröschle
2637d39c67 first (untested) version of the modified MMU handling and API 2014-09-29 12:32:19 +00:00
Markus Fröschle
e0f77b1ab6 added function to flush only a portion of the caches 2014-09-24 16:02:20 +00:00
Markus Fröschle
0801adb0c0 fixed a few MMU quirks 2014-09-17 05:28:16 +00:00
Markus Fröschle
e7fa2b5bff check for supervisor protection fault and issue a bus error 2014-09-07 19:29:11 +00:00
Markus Fröschle
87bd9eb2c6 rewritten mmu_map_page() and put into production 2014-09-07 19:01:19 +00:00
Markus Fröschle
7ea7b91e9d moved more functionality from exceptions.S to interrupts.c. Added debug
printouts to MMU page fault handler
2014-09-07 10:57:58 +00:00
Markus Fröschle
8aac27bc01 disabled (unnecessary?) cache flush 2014-09-06 18:37:13 +00:00
Markus Fröschle
6074b0c9f1 fixed dbg() printout macro 2014-08-10 18:22:59 +00:00
David Gálvez
d1767a50e9 Make PCI memory space uncachable 2014-07-10 16:46:21 +00:00
Markus Fröschle
4f81b597a6 reverted to last released to make it work again 2014-06-21 06:21:41 +00:00
Markus Fröschle
aacdc671a8 removed (now wrong) comment 2014-06-21 05:50:43 +00:00
Markus Fröschle
b3af46394a completed locked TLB list 2014-06-20 20:24:37 +00:00
Markus Fröschle
e4a7e1df5a added locked TLB entries 2014-06-20 19:50:49 +00:00
Markus Fröschle
69a84effee started to revert to previous functionality 2014-06-20 18:35:08 +00:00
David Gálvez
cc8a346ce4 make PCI memory non-cacheable 2014-05-25 19:13:45 +00:00
David Gálvez
8509de2578 add missing parameter initialization 2014-05-25 17:00:19 +00:00
Markus Fröschle
c57cea78e3 fixed wrong MMU mapping of emulated Falcon video memory (phys and virt
where the wrong way round)
2014-05-11 06:57:09 +00:00
Markus Fröschle
f73b3e9684 modified project to support Qt Creator inferior debugging through BDM. 2014-05-11 06:40:48 +00:00
Markus Fröschle
c628705dd3 modified dbg() macro
corrected irq6 handler
reimplemented MFP interrupt LED blinker in C
2014-05-10 13:21:11 +00:00
Markus Fröschle
9b4c437bef translated more of the assembler code into C 2014-02-02 21:35:46 +00:00
Markus Fröschle
e0b41f09d6 modified to throw errors if an unknown machine type is detected 2014-01-28 15:49:05 +00:00
Markus Fröschle
946212079a modified ACR settings 2014-01-28 14:11:08 +00:00
Markus Fröschle
401a9bd2e5 fixed: compare virtual address instead of physical in lookup_mapping() 2014-01-21 12:43:32 +00:00
Markus Fröschle
bb378a5cd0 fixed bug in determining if access error hit in TLB (checked bit 0 instead of 1). 2014-01-20 14:23:55 +00:00
Markus Fröschle
25280c9684 modified MMU mapping table to use symbolic constants from include file 2014-01-19 19:26:52 +00:00
Markus Fröschle
f9578cc665 simplified MMU code. Still hangs somewhere in EmuTOS 2014-01-19 18:27:05 +00:00
Markus Fröschle
2806d76b35 removed locked MMU pages 2014-01-18 20:59:42 +00:00
Markus Fröschle
a612252d9a removed inlining in wait.c, added (simple) map-based MMU handling 2014-01-18 14:03:25 +00:00
Markus Fröschle
6d0643b885 modified to map memory dynamically based on a static memory map 2014-01-18 08:04:44 +00:00
Markus Fröschle
5412297687 moved ACR register handling macros to include file 2014-01-17 06:45:33 +00:00
Markus Fröschle
ea843725eb modified access_error to do all MMU mappings dynamically 2014-01-16 20:42:04 +00:00
Markus Fröschle
8cebb6e8de extended mmu_map_page() by size and flags args 2014-01-16 16:29:29 +00:00
Markus Fröschle
fb37837727 modified ACRs to cover complete SDRAM 2014-01-16 16:18:43 +00:00
Markus Fröschle
90a4b60289 test using ACR0 & ACR2 to provide supervisor stack access 2014-01-15 16:03:54 +00:00
Markus Fröschle
cdaefc9343 moved page alignment responsibility to caller 2014-01-14 20:28:13 +00:00
Markus Fröschle
3d9a5e9627 fixed missing parameter in debug print 2014-01-14 18:18:20 +00:00
Markus Fröschle
40aa08464d removed type field from isr_register_handler() and friends 2014-01-14 07:48:38 +00:00
Markus Fröschle
635a22595b cleaned up debug printouts 2014-01-13 21:30:39 +00:00
Markus Fröschle
71ae318675 renamed mmutr_miss() to mmu_map_page() (that's what its doing) 2014-01-13 21:26:42 +00:00
Markus Fröschle
84a63c1554 corrected FASTRAM_END comparision 2014-01-13 21:20:24 +00:00
Markus Fröschle
9c1befe977 refactored assembler routines from exceptions.S into mmu.c (access exception handler). Seems to be better, but still hang. 2014-01-13 19:39:42 +00:00
Markus Fröschle
e0f61b3afc implemented safe stack for access exception handler 2014-01-13 15:13:29 +00:00
Markus Fröschle
1a82f294ac networking works (sort of). For some reason, the Firebee packets don't cross my switch (or only very few of them do). If I put a Linux box in between (cross cable), using it as router, everything works flawlessly. 2014-01-06 18:44:36 +00:00
Markus Fröschle
40c89dd900 added interface structure to make the MCD DMA available to MiNT (DMAC cookie). MinT's FEC driver works somewhat, but not reliable yet. 2014-01-01 21:28:17 +00:00
Markus Fröschle
78c5873de0 m548x runs now cleanly (had to remove radeon files from make for now) 2013-12-28 16:51:00 +00:00
Markus Fröschle
f6984e68b1 added a 1 Meg page as very last RAM page to handle uncached memory for drivers. This moved the BaS RAM area to the second last page of memory 2013-12-22 16:08:18 +00:00
Markus Fröschle
de0e14c696 fixed error that caused plain EmuTOS to crash (video page was mapped supervisor protected) 2013-12-21 16:16:23 +00:00
Markus Fröschle
355b93db61 fixed hang because video pages were supervisor protected while TOS puts the application stack there 2013-12-21 12:04:47 +00:00
Markus Fröschle
72c7b9a963 sorted sources per functionality in different subdirs 2013-12-19 13:02:39 +00:00