Ignore:
File:
1 edited

Legend:

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

    r4a5ba372 r21b6307  
    4545#include <arch/bios/bios.h>
    4646#include <arch/boot/boot.h>
     47#include <arch/debugger.h>
    4748#include <arch/drivers/i8254.h>
    4849#include <arch/drivers/i8259.h>
     
    5051#include <genarch/drivers/ega/ega.h>
    5152#include <genarch/drivers/i8042/i8042.h>
     53#include <genarch/drivers/ns16550/ns16550.h>
    5254#include <genarch/drivers/legacy/ia32/io.h>
    5355#include <genarch/fb/bfb.h>
    5456#include <genarch/kbrd/kbrd.h>
     57#include <genarch/srln/srln.h>
    5558#include <genarch/multiboot/multiboot.h>
    5659#include <genarch/multiboot/multiboot2.h>
     
    117120#endif
    118121               
     122                /* Enable debugger */
     123                debugger_init();
    119124                /* Merge all memory zones to 1 big zone */
    120125                zone_merge_all();
     
    166171        }
    167172#endif
     173
     174#if (defined(CONFIG_NS16550) || defined(CONFIG_NS16550_OUT))
     175        /*
     176         * Initialize the ns16550 controller.
     177         */
     178#ifdef CONFIG_NS16550_OUT
     179        outdev_t *ns16550_out;
     180        outdev_t **ns16550_out_ptr = &ns16550_out;
     181#else
     182        outdev_t **ns16550_out_ptr = NULL;
     183#endif
     184        ns16550_instance_t *ns16550_instance
     185            = ns16550_init((ns16550_t *) NS16550_BASE, IRQ_NS16550, NULL, NULL,
     186            ns16550_out_ptr);
     187        if (ns16550_instance) {
     188#ifdef CONFIG_NS16550
     189                srln_instance_t *srln_instance = srln_init();
     190                if (srln_instance) {
     191                        indev_t *sink = stdin_wire();
     192                        indev_t *srln = srln_wire(srln_instance, sink);
     193                        ns16550_wire(ns16550_instance, srln);
     194                        trap_virtual_enable_irqs(1 << IRQ_NS16550);
     195                }
     196#endif
     197#ifdef CONFIG_NS16550_OUT
     198                if (ns16550_out) {
     199                        stdout_wire(ns16550_out);
     200                }
     201#endif
     202        }
     203#endif
    168204       
    169205        if (irqs_info != NULL)
Note: See TracChangeset for help on using the changeset viewer.