driver interface to OS implemented and tested
This commit is contained in:
@@ -25,9 +25,9 @@
|
||||
#include <stdbool.h>
|
||||
|
||||
#include "MCF5475.h"
|
||||
#include "MCF5475_SLT.h"
|
||||
#include "startcf.h"
|
||||
#include "sysinit.h"
|
||||
#include "util.h"
|
||||
#include "cache.h"
|
||||
#include "bas_printf.h"
|
||||
#include "bas_string.h"
|
||||
@@ -56,8 +56,6 @@ extern uint8_t _EMUTOS[];
|
||||
extern uint8_t _EMUTOS_SIZE[];
|
||||
#define EMUTOS_SIZE ((uint32_t)_EMUTOS_SIZE) /* size of EmuTOS, in bytes */
|
||||
|
||||
#define NOP() __asm__ __volatile__("nop\n\t" : : : "memory") /* need this to force pipeline sync after MMUCR write */
|
||||
|
||||
/*
|
||||
* check if it is possible to transfer data to PIC
|
||||
*/
|
||||
|
||||
@@ -40,7 +40,6 @@
|
||||
.extern _video_tlb
|
||||
.extern _video_sbt
|
||||
.extern _flush_and_invalidate_caches
|
||||
.extern _xhdi_sd_install /* trap #0 exception vector for installation of xhdi SD card driver */
|
||||
|
||||
/* PCI interrupt handlers */
|
||||
.extern _irq5_handler
|
||||
@@ -270,9 +269,9 @@ init_vec_loop:
|
||||
lea access(pc),a1 // set illegal access exception handler
|
||||
move.l a1,0x08(a0)
|
||||
|
||||
// trap #0 (without any parameters for now) is used to provide BaS' XHDI
|
||||
// routine address to EmuTOS.
|
||||
lea _xhdi_sd_install,a1
|
||||
.extern _get_bas_drivers
|
||||
// trap #0 (without any parameters for now) is used to provide BaS' driver addresses to the OS
|
||||
lea _get_bas_drivers(pc),a1
|
||||
move.l a1,0x80(a0) // trap #0 exception vector
|
||||
|
||||
#ifdef MACHINE_FIREBEE
|
||||
@@ -439,7 +438,7 @@ zd_end:
|
||||
move.l (a7)+,d0
|
||||
move.l (a7)+,a0
|
||||
rte
|
||||
|
||||
|
||||
#ifdef _NOT_USED_
|
||||
linea:
|
||||
move.w #0x2700,sr // disable interrupt
|
||||
|
||||
@@ -1105,13 +1105,15 @@ void initialize_hardware(void)
|
||||
dvi_on();
|
||||
#endif /* MACHINE_FIREBEE */
|
||||
init_pci();
|
||||
|
||||
/* do not try to init USB for now on the Firebee, it hangs the machine */
|
||||
#ifndef MACHINE_FIREBEE
|
||||
init_usb();
|
||||
#endif
|
||||
|
||||
#if MACHINE_FIREBEE
|
||||
init_ac97();
|
||||
#endif /* MACHINE_FIREBEE */
|
||||
|
||||
//hexdump(0x6a000000, 8192);
|
||||
xprintf("initialize and test DMA\r\n");
|
||||
dma_init();
|
||||
|
||||
/* jump into the BaS */
|
||||
|
||||
Reference in New Issue
Block a user