Changeset 260f678 in mainline for kernel/arch/mips32/src/mips32.c


Ignore:
Timestamp:
2013-02-04T10:42:50Z (11 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
b5e17b1
Parents:
ae7ba7b6
Message:

Factor out stdin/stdout initialization into machine ops.

File:
1 edited

Legend:

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

    rae7ba7b6 r260f678  
    4141#include <memstr.h>
    4242#include <userspace.h>
    43 #include <console/console.h>
    4443#include <syscall/syscall.h>
    4544#include <sysinfo/sysinfo.h>
    4645#include <arch/debug.h>
    4746#include <arch/debugger.h>
    48 #ifdef MACHINE_msim
    49 #include <arch/drivers/msim.h>
    50 #endif
    51 #include <genarch/fb/fb.h>
    52 #include <genarch/drivers/dsrln/dsrlnin.h>
    53 #include <genarch/drivers/dsrln/dsrlnout.h>
    54 #include <genarch/srln/srln.h>
    5547#include <arch/machine_func.h>
    5648
     
    9991        sdram_size = bootinfo->sdram_size;
    10092#endif
     93
     94        /* Initialize machine_ops pointer. */
     95        machine_ops_init();
    10196}
    10297
     
    135130{
    136131        interrupt_init();
    137        
    138 #ifdef CONFIG_MSIM_PRN
    139         outdev_t *dsrlndev = dsrlnout_init((ioport8_t *) MSIM_KBD_ADDRESS);
    140         if (dsrlndev)
    141                 stdout_wire(dsrlndev);
    142 #endif
     132
     133        machine_init();
     134        machine_output_init();
    143135}
    144136
     
    158150            str_size(machine_get_platform_name()));
    159151
    160 #ifdef CONFIG_MSIM_KBD
    161         /*
    162          * Initialize the msim keyboard port. Then initialize the serial line
    163          * module and connect it to the msim keyboard. Enable keyboard
    164          * interrupts.
    165          */
    166         dsrlnin_instance_t *dsrlnin_instance
    167             = dsrlnin_init((dsrlnin_t *) MSIM_KBD_ADDRESS, MSIM_KBD_IRQ);
    168         if (dsrlnin_instance) {
    169                 srln_instance_t *srln_instance = srln_init();
    170                 if (srln_instance) {
    171                         indev_t *sink = stdin_wire();
    172                         indev_t *srln = srln_wire(srln_instance, sink);
    173                         dsrlnin_wire(dsrlnin_instance, srln);
    174                         cp0_unmask_int(MSIM_KBD_IRQ);
    175                 }
    176         }
    177        
    178         /*
    179          * This is the necessary evil until the userspace driver is entirely
    180          * self-sufficient.
    181          */
    182         sysinfo_set_item_val("kbd", NULL, true);
    183         sysinfo_set_item_val("kbd.inr", NULL, MSIM_KBD_IRQ);
    184         sysinfo_set_item_val("kbd.address.physical", NULL,
    185             PA2KA(MSIM_KBD_ADDRESS));
    186 #endif
     152        machine_input_init();
    187153}
    188154
Note: See TracChangeset for help on using the changeset viewer.