Changeset 6ac14a70 in mainline for kernel/arch/arm32/src/arm32.c


Ignore:
Timestamp:
2009-07-28T12:47:31Z (15 years ago)
Author:
Vineeth Pillai <vineethrp@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
5e73815
Parents:
7038f55
Message:

ARM port for development board integratorcp(ARM926EJ core module).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/arm32/src/arm32.c

    r7038f55 r6ac14a70  
    3838#include <genarch/fb/fb.h>
    3939#include <genarch/fb/visuals.h>
    40 #include <genarch/drivers/dsrln/dsrlnin.h>
    41 #include <genarch/drivers/dsrln/dsrlnout.h>
    42 #include <genarch/srln/srln.h>
    4340#include <sysinfo/sysinfo.h>
    4441#include <console/console.h>
    4542#include <ddi/irq.h>
    46 #include <arch/drivers/gxemul.h>
     43#include <arch/machine.h>
    4744#include <print.h>
    4845#include <config.h>
     
    7875void arch_post_mm_init(void)
    7976{
    80         gxemul_init();
     77        machine_init();
    8178       
    8279        /* Initialize exception dispatch table */
     
    8582       
    8683#ifdef CONFIG_FB
    87         fb_properties_t prop = {
    88                 .addr = GXEMUL_FB_ADDRESS,
    89                 .offset = 0,
    90                 .x = 640,
    91                 .y = 480,
    92                 .scan = 1920,
    93                 .visual = VISUAL_BGR_8_8_8,
    94         };
    95         fb_init(&prop);
     84        machine_fb_init();
    9685#else
    9786#ifdef CONFIG_ARM_PRN
    98         dsrlnout_init((ioport8_t *) gxemul_kbd);
     87        machine_output_init();
    9988#endif /* CONFIG_ARM_PRN */
    10089#endif /* CONFIG_FB */
     
    127116void arch_post_smp_init(void)
    128117{
    129 #ifdef CONFIG_ARM_KBD
    130         /*
    131          * Initialize the GXemul keyboard port. Then initialize the serial line
    132          * module and connect it to the GXemul keyboard.
    133          */
    134         dsrlnin_instance_t *dsrlnin_instance
    135             = dsrlnin_init((dsrlnin_t *) gxemul_kbd, GXEMUL_KBD_IRQ);
    136         if (dsrlnin_instance) {
    137                 srln_instance_t *srln_instance = srln_init();
    138                 if (srln_instance) {
    139                         indev_t *sink = stdin_wire();
    140                         indev_t *srln = srln_wire(srln_instance, sink);
    141                         dsrlnin_wire(dsrlnin_instance, srln);
    142                 }
    143         }
    144        
    145         /*
    146          * This is the necessary evil until the userspace driver is entirely
    147          * self-sufficient.
    148          */
    149         sysinfo_set_item_val("kbd", NULL, true);
    150         sysinfo_set_item_val("kbd.inr", NULL, GXEMUL_KBD_IRQ);
    151         sysinfo_set_item_val("kbd.address.virtual", NULL, (unative_t) gxemul_kbd);
    152 #endif
     118        machine_input_init();
    153119}
    154120
     
    157123void before_task_runs_arch(void)
    158124{
    159         tlb_invalidate_all();
    160125}
    161126
     
    169134        uint8_t *stck;
    170135       
     136        tlb_invalidate_all();
    171137        stck = &THREAD->kstack[THREAD_STACK_SIZE - SP_DELTA];
    172138        supervisor_sp = (uintptr_t) stck;
     
    184150void cpu_halt(void)
    185151{
    186         *((char *) (gxemul_kbd + GXEMUL_HALT_OFFSET))
    187                 = 0;
     152        machine_cpu_halt();
    188153}
    189154
     
    212177void arch_grab_console(void)
    213178{
     179        machine_grab_console();
    214180#ifdef CONFIG_FB
    215181        fb_redraw();
     
    220186void arch_release_console(void)
    221187{
     188        machine_release_console();
    222189}
    223190
Note: See TracChangeset for help on using the changeset viewer.