Ignore:
File:
1 edited

Legend:

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

    ra71c158 rf902d36  
    4040#include <arch/asm.h>
    4141#include <arch/register.h>
    42 #include <arch/types.h>
     42#include <typedefs.h>
    4343#include <arch/context.h>
    4444#include <arch/stack.h>
    4545#include <arch/mm/page.h>
     46#include <interrupt.h>
    4647#include <mm/as.h>
    4748#include <config.h>
     49#include <macros.h>
    4850#include <userspace.h>
    4951#include <console/console.h>
     
    6567#include <print.h>
    6668#include <sysinfo/sysinfo.h>
    67 #include <string.h>
     69#include <str.h>
    6870
    6971/* NS16550 as a COM 1 */
     
    7779void arch_pre_main(void)
    7880{
    79         /* Setup usermode init tasks. */
    80 
    81         unsigned int i;
    82        
    83         init.cnt = bootinfo->taskmap.count;
    84        
     81        init.cnt = min3(bootinfo->taskmap.cnt, TASKMAP_MAX_RECORDS, CONFIG_INIT_TASKS);
     82        size_t i;
    8583        for (i = 0; i < init.cnt; i++) {
    8684                init.tasks[i].addr =
     
    106104static void iosapic_init(void)
    107105{
    108         uint64_t IOSAPIC = PA2KA((unative_t)(iosapic_base)) | FW_OFFSET;
     106        uint64_t IOSAPIC = PA2KA((sysarg_t)(iosapic_base)) | FW_OFFSET;
    109107        int i;
    110108       
     
    149147void arch_post_smp_init(void)
    150148{
     149        static const char *platform;
     150
     151        /* Set platform name. */
     152#ifdef MACHINE_ski
     153        platform = "pc";
     154#endif
     155#ifdef MACHINE_i460GX
     156        platform = "i460GX";
     157#endif
     158        sysinfo_set_item_data("platform", NULL, (void *) platform,
     159            str_size(platform));
     160
    151161#ifdef MACHINE_ski
    152162        ski_instance_t *ski_instance = skiin_init();
     
    203213        }
    204214       
    205         sysinfo_set_item_val("kbd", NULL, true);
    206         sysinfo_set_item_val("kbd.inr", NULL, IRQ_KBD);
    207         sysinfo_set_item_val("kbd.type", NULL, KBD_LEGACY);
    208         sysinfo_set_item_val("kbd.address.physical", NULL,
     215        sysinfo_set_item_val("i8042", NULL, true);
     216        sysinfo_set_item_val("i8042.inr_a", NULL, IRQ_KBD);
     217        sysinfo_set_item_val("i8042.inr_b", NULL, IRQ_MOUSE);
     218        sysinfo_set_item_val("i8042.address.physical", NULL,
    209219            (uintptr_t) I8042_BASE);
    210         sysinfo_set_item_val("kbd.address.kernel", NULL,
     220        sysinfo_set_item_val("i8042.address.kernel", NULL,
    211221            (uintptr_t) I8042_BASE);
    212222#endif
    213        
     223
     224        sysinfo_set_item_val("netif.ne2000.inr", NULL, IRQ_NE2000);
     225
    214226        sysinfo_set_item_val("ia64_iospace", NULL, true);
    215227        sysinfo_set_item_val("ia64_iospace.address", NULL, true);
     
    251263 * We use r13 (a.k.a. tp) for this purpose.
    252264 */
    253 unative_t sys_tls_set(unative_t addr)
     265sysarg_t sys_tls_set(sysarg_t addr)
    254266{
    255267        return 0;
     
    274286void *arch_construct_function(fncptr_t *fptr, void *addr, void *caller)
    275287{
    276         fptr->fnc = (unative_t) addr;
    277         fptr->gp = ((unative_t *) caller)[1];
     288        fptr->fnc = (sysarg_t) addr;
     289        fptr->gp = ((sysarg_t *) caller)[1];
    278290       
    279291        return (void *) fptr;
    280292}
    281293
     294void irq_initialize_arch(irq_t *irq)
     295{
     296        (void) irq;
     297}
     298
    282299/** @}
    283300 */
Note: See TracChangeset for help on using the changeset viewer.