Commit Graph

64 Commits

Author SHA1 Message Date
Markus Fröschle
45248b640d PCI memory access working 2016-10-15 21:26:49 +00:00
Markus Fröschle
fc81a3651c did some beautifying on the code 2016-07-31 19:13:16 +00:00
Markus Fröschle
2f700d8694 general overhaul. Prepare for smaller pagesize 2016-04-17 19:37:19 +00:00
Markus Fröschle
883861f6cc modify 1st page to cache mode PASSTHROUGH 2016-04-02 18:56:20 +00:00
Markus Fröschle
c036d08f6a modified PCI configuration, RADEON card does not configure correctly
(MMIO space not accessible)
2015-02-22 19:46:16 +00:00
Markus Fröschle
91a1c53bdc added setjmp()/longjmp() (used by NetBSD x86 emulator)
modified x86pcibios.c to work with NetBSD x86 emulator
2015-02-17 14:43:11 +00:00
Markus Fröschle
d7cf622692 made m548xLITE board run again 2015-01-24 10:14:39 +00:00
Markus Fröschle
642a994f81 reformatted 2015-01-18 21:05:05 +00:00
Markus Fröschle
56a0731ed1 refactored struct naming 2015-01-16 07:35:35 +00:00
Markus Fröschle
fe65b2ca00 replaced DMA API routines by fresh download with originals
moved more interrupt handlers to generalized handler
cleaned up lowlevel interrupt handling
fixed wrong assignment of interrupt masks
reformatted
2015-01-11 10:27:36 +00:00
Markus Fröschle
4154149154 implemented hook_interrupt() in PCI code
enabled PCI interrupts
ohci seems to damage something in PCI config -> PCI device enumeration 
does not top with latest device
networking in EmuTOS lost (probably a result of PCI interrupt
implementation)
2014-10-05 17:50:15 +00:00
Markus Fröschle
2d2b88be59 removed debug output 2014-09-30 19:32:26 +00:00
Markus Fröschle
fe944b40d4 fixed wrong stack address offset for "magic number" 2014-09-30 19:29:46 +00:00
Markus Fröschle
2f4245743e added mmu_report_pagesize() 2014-09-30 15:42:32 +00:00
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