Ignore:
File:
1 edited

Legend:

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

    r3a2f8aa ra71c158  
    3939#include <genarch/kbrd/kbrd.h>
    4040#include <arch/interrupt.h>
    41 #include <interrupt.h>
    4241#include <genarch/fb/fb.h>
    4342#include <genarch/fb/visuals.h>
     
    4544#include <genarch/ofw/pci.h>
    4645#include <userspace.h>
    47 #include <mm/page.h>
    4846#include <proc/uarg.h>
    4947#include <console/console.h>
    50 #include <sysinfo/sysinfo.h>
    5148#include <ddi/irq.h>
    5249#include <arch/drivers/pic.h>
     
    6057
    6158bootinfo_t bootinfo;
    62 
    63 static cir_t pic_cir;
    64 static void *pic_cir_arg;
    6559
    6660/** Performs ppc32-specific initialization before main_bsp() is called. */
     
    191185        if (assigned_address) {
    192186                /* Initialize PIC */
    193                 pic_init(assigned_address[0].addr, PAGE_SIZE, &pic_cir,
    194                     &pic_cir_arg);
    195 
     187                cir_t cir;
     188                void *cir_arg;
     189                pic_init(assigned_address[0].addr, PAGE_SIZE, &cir, &cir_arg);
     190               
    196191#ifdef CONFIG_MAC_KBD
    197192                uintptr_t pa = assigned_address[0].addr + 0x16000;
     
    205200                /* Initialize I/O controller */
    206201                cuda_instance_t *cuda_instance =
    207                     cuda_init(cuda, IRQ_CUDA, pic_cir, pic_cir_arg);
     202                    cuda_init(cuda, IRQ_CUDA, cir, cir_arg);
    208203                if (cuda_instance) {
    209204                        kbrd_instance_t *kbrd_instance = kbrd_init();
     
    215210                        }
    216211                }
    217 
    218                 /*
    219                  * This is the necessary evil until the userspace driver is entirely
    220                  * self-sufficient.
    221                  */
    222                 sysinfo_set_item_val("cuda", NULL, true);
    223                 sysinfo_set_item_val("cuda.inr", NULL, IRQ_CUDA);
    224                 sysinfo_set_item_val("cuda.address.physical", NULL, pa);
    225                 sysinfo_set_item_val("cuda.address.kernel", NULL,
    226                     (uintptr_t) cuda);
    227212#endif
    228213        }
     
    230215        /* Consider only a single device for now */
    231216        return false;
    232 }
    233 
    234 void irq_initialize_arch(irq_t *irq)
    235 {
    236         irq->cir = pic_cir;
    237         irq->cir_arg = pic_cir_arg;
    238         irq->preack = true;
    239217}
    240218
Note: See TracChangeset for help on using the changeset viewer.