Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 2273 → Rev 2274

/branches/arm/kernel/arch/arm32/src/exception.c
148,6 → 148,8
*/
static void irq_exception(int exc_no, istate_t* istate)
{
// TODO: move somewhere to gxemul.c and use machine_irq_exception (or some similar
// name) to avoid using MACHINE == MACHINE_GXEMUL_TESTARM
#if MACHINE == MACHINE_GXEMUL_TESTARM
uint32_t sources = gxemul_irqc_get_sources();
int i = 0;
/branches/arm/kernel/arch/arm32/src/console.c
34,13 → 34,11
 
#include <console/console.h>
#include <arch/console.h>
#include <arch/drivers/gxemul.h>
#include <arch/machine.h>
 
void console_init(devno_t devno)
{
#if MACHINE == MACHINE_GXEMUL_TESTARM
gxemul_console(devno);
#endif
machine_console_init(devno);
}
 
/** Acquire console back for kernel
48,9 → 46,7
*/
void arch_grab_console(void)
{
#if MACHINE == MACHINE_GXEMUL_TESTARM
gxemul_kbd_grab();
#endif
machine_grab_console();
}
 
/** Return console to userspace
58,9 → 54,7
*/
void arch_release_console(void)
{
#if MACHINE == MACHINE_GXEMUL_TESTARM
gxemul_kbd_release();
#endif
machine_release_console();
}
 
/** @}
/branches/arm/kernel/arch/arm32/src/arm32.c
46,7 → 46,7
#include <print.h>
#include <config.h>
#include <interrupt.h>
#include <arch/drivers/init.h>
#include <arch/machine.h>
 
bootinfo_t bootinfo;
 
82,7 → 82,7
Note: Have to be after page_init() */
exception_init();
 
drivers_init();
machine_hw_map_init();
interrupt_init();
console_init(device_assign_devno());
89,7 → 89,7
//fb_init(0x12000000, 640, 480, 1920, VISUAL_RGB_8_8_8);
interrupts_enable();
while(1);
// while(1);
dprintf("arch_post_mm_init end()\n");
}
 
/branches/arm/kernel/arch/arm32/src/mm/memory_init.c
34,13 → 34,11
 
#include <arch/mm/memory_init.h>
#include <arch/mm/page.h>
#include <arch/drivers/gxemul.h>
#include <arch/machine.h>
 
size_t get_memory_size(void)
{
#if MACHINE == MACHINE_GXEMUL_TESTARM
return gxemul_get_memory_size();
#endif
return machine_get_memory_size();
}
 
 
/branches/arm/kernel/arch/arm32/src/interrupt.c
35,7 → 35,7
#include <arch/asm.h>
#include <arch/regutils.h>
#include <ddi/irq.h>
#include <arch/drivers/gxemul.h>
#include <arch/machine.h>
#include <interrupt.h>
 
#define IRQ_COUNT 8
92,11 → 92,7
void interrupt_init(void)
{
irq_init(IRQ_COUNT, IRQ_COUNT);
 
#if MACHINE == MACHINE_GXEMUL_TESTARM
gxemul_timer_irq_init();
gxemul_timer_start(GXEMUL_TIMER_FREQ);
#endif
machine_timer_irq_start();
}
 
 
/branches/arm/kernel/arch/arm32/src/drivers/init.c
File deleted
/branches/arm/kernel/arch/arm32/src/drivers/gxemul.c
41,6 → 41,7
#include <print.h>
#include <ddi/device.h>
#include <mm/page.h>
#include <arch/machine.h>
 
/** Address of devices. */
#define GXEMUL_VIDEORAM 0x10000000
78,7 → 79,7
 
 
/** Initializes #gxemul_hw_map. */
void gxemul_hw_map_init(void)
void machine_hw_map_init(void)
{
gxemul_hw_map.videoram = hw_map(GXEMUL_VIDEORAM, PAGE_SIZE);
gxemul_hw_map.kbd = hw_map(GXEMUL_KBD, PAGE_SIZE);
152,7 → 153,7
return IRQ_ACCEPT;
}
 
void gxemul_kbd_grab(void)
void machine_grab_console(void)
{
ipl_t ipl = interrupts_disable();
spinlock_lock(&gxemul_irq.lock);
161,7 → 162,7
interrupts_restore(ipl);
}
 
void gxemul_kbd_release(void)
void machine_release_console(void)
{
ipl_t ipl = interrupts_disable();
spinlock_lock(&gxemul_irq.lock);
173,7 → 174,7
 
 
/** Return console object representing gxemul console */
void gxemul_console(devno_t devno)
void machine_console_init(devno_t devno)
{
chardev_initialize("gxemul_console", &console, &gxemul_ops);
stdin = &console;
280,8 → 281,14
irq_register(&gxemul_timer_irq);
}
 
size_t gxemul_get_memory_size(void)
void machine_timer_irq_start()
{
gxemul_timer_irq_init();
gxemul_timer_start(GXEMUL_TIMER_FREQ);
}
 
size_t machine_get_memory_size(void)
{
return *((int*)(GXEMUL_MP + GXEMUL_MP_MEMSIZE_OFFSET));
}