Ignore:
File:
1 edited

Legend:

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

    ra71c158 rf902d36  
    3535#include <arch.h>
    3636
    37 #include <arch/types.h>
     37#include <typedefs.h>
    3838
    3939#include <config.h>
     
    6767#include <ddi/irq.h>
    6868#include <sysinfo/sysinfo.h>
     69#include <memstr.h>
    6970
    7071/** Disable I/O on non-privileged levels
     
    121122        /* Enable FPU */
    122123        cpu_setup_fpu();
    123 
     124       
    124125        /* Initialize segmentation */
    125126        pm_init();
     
    131132        /* Disable alignment check */
    132133        clean_AM_flag();
    133 
     134       
    134135        if (config.cpu_active == 1) {
    135136                interrupt_init();
     
    198199void arch_post_smp_init(void)
    199200{
     201        /* Currently the only supported platform for amd64 is 'pc'. */
     202        static const char *platform = "pc";
     203
     204        sysinfo_set_item_data("platform", NULL, (void *) platform,
     205            str_size(platform));
     206
    200207#ifdef CONFIG_PC_KBD
    201208        /*
     
    211218                        i8042_wire(i8042_instance, kbrd);
    212219                        trap_virtual_enable_irqs(1 << IRQ_KBD);
     220                        trap_virtual_enable_irqs(1 << IRQ_MOUSE);
    213221                }
    214222        }
     
    218226         * self-sufficient.
    219227         */
    220         sysinfo_set_item_val("kbd", NULL, true);
    221         sysinfo_set_item_val("kbd.inr", NULL, IRQ_KBD);
    222         sysinfo_set_item_val("kbd.address.physical", NULL,
     228        sysinfo_set_item_val("i8042", NULL, true);
     229        sysinfo_set_item_val("i8042.inr_a", NULL, IRQ_KBD);
     230        sysinfo_set_item_val("i8042.inr_b", NULL, IRQ_MOUSE);
     231        sysinfo_set_item_val("i8042.address.physical", NULL,
    223232            (uintptr_t) I8042_BASE);
    224         sysinfo_set_item_val("kbd.address.kernel", NULL,
     233        sysinfo_set_item_val("i8042.address.kernel", NULL,
    225234            (uintptr_t) I8042_BASE);
    226235#endif
     236       
     237        if (irqs_info != NULL)
     238                sysinfo_set_item_val(irqs_info, NULL, true);
     239       
     240        sysinfo_set_item_val("netif.ne2000.inr", NULL, IRQ_NE2000);
    227241}
    228242
     
    247261 * we need not to go to CPL0 to read it.
    248262 */
    249 unative_t sys_tls_set(unative_t addr)
     263sysarg_t sys_tls_set(sysarg_t addr)
    250264{
    251265        THREAD->arch.tls = addr;
    252266        write_msr(AMD_MSR_FS, addr);
     267       
    253268        return 0;
    254269}
     
    275290}
    276291
     292void irq_initialize_arch(irq_t *irq)
     293{
     294        (void) irq;
     295}
     296
    277297/** @}
    278298 */
Note: See TracChangeset for help on using the changeset viewer.