Ignore:
Timestamp:
2013-12-28T17:16:44Z (10 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
c1023bcb
Parents:
f6f22cdb
Message:

code revision
coding style fixes
removal of debugging printouts and other temporary stuff

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/sparc32/src/machine/leon3/leon3.c

    rf6f22cdb r32e8cd1  
    3838#include <arch/asm.h>
    3939#include <arch/machine_func.h>
    40 
    4140#include <arch/machine/leon3/leon3.h>
    42 
    4341#include <genarch/drivers/grlib/uart.h>
    4442#include <genarch/drivers/grlib/irqmp.h>
    4543#include <genarch/srln/srln.h>
    46 
    4744#include <func.h>
    4845#include <config.h>
     
    7067static const char *leon3_get_platform_name(void);
    7168
    72 struct leon3_machine_t
    73 {
     69struct leon3_machine_t {
    7470        bootinfo_t *bootinfo;
    7571        outdev_t *scons_dev;
    7672        grlib_irqmp_t irqmp;
    77         //grlib_timer_t timer;
    7873};
    7974
    8075struct sparc_machine_ops leon3_machine_ops = {
    81         leon3_init,
    82         leon3_cpu_halt,
    83         leon3_get_memory_extents,
    84         leon3_timer_start,
    85         leon3_irq_exception,
    86         leon3_output_init,
    87         leon3_input_init,
    88         leon3_get_irq_count,
    89         leon3_get_platform_name
     76        .machine_init = leon3_init,
     77        .machine_cpu_halt = leon3_cpu_halt,
     78        .machine_get_memory_extents = leon3_get_memory_extents,
     79        .machine_timer_irq_start = leon3_timer_start,
     80        .machine_irq_exception = leon3_irq_exception,
     81        .machine_output_init = leon3_output_init,
     82        .machine_input_init = leon3_input_init,
     83        .machine_get_irq_count = leon3_get_irq_count,
     84        .machine_get_platform_name = leon3_get_platform_name
    9085};
    9186
     
    9590{
    9691        machine.bootinfo = bootinfo;
    97 
    9892        grlib_irqmp_init(&machine.irqmp, bootinfo);
    9993}
     
    10195static void leon3_cpu_halt(void)
    10296{
    103         for (;;);
     97        // FIXME TODO
     98        while (1);
    10499}
    105100
     
    107102{
    108103        *start = LEON3_SDRAM_START;
    109         *size = 64 * 1024 * 1024;//machine.bootinfo->memsize;
     104        *size = 64 * 1024 * 1024;
     105        // FIXME: *size = machine.bootinfo->memsize;
    110106}
    111107
    112108static void leon3_timer_start(void)
    113109{
    114         //machine.timer = grlib_timer_init(machine.bootinfo->timer_base, machine.bootinfo->timer_irq);
     110        // FIXME:
     111        // machine.timer =
     112        //     grlib_timer_init(machine.bootinfo->timer_base,
     113        //     machine.bootinfo->timer_irq);
    115114}
    116115
    117 static void leon3_irq_exception(unsigned int exc_no, istate_t *istate)
     116static void leon3_irq_exception(unsigned int exc, istate_t *istate)
    118117{
    119118        int irqnum = grlib_irqmp_inum_get(&machine.irqmp);
    120 
     119       
    121120        grlib_irqmp_clear(&machine.irqmp, irqnum);
    122 
     121       
    123122        irq_t *irq = irq_dispatch_and_lock(irqnum);
    124123        if (irq) {
     
    131130static void leon3_output_init(void)
    132131{
    133         printf("leon3_output_init\n");
    134         printf("machine.bootinfo=%p, machine.bootinfo->uart_base=0x%08x\n", machine.bootinfo, machine.bootinfo->uart_base);
    135 
    136         machine.scons_dev = grlib_uart_init(machine.bootinfo->uart_base, machine.bootinfo->uart_irq);
    137 
     132        machine.scons_dev =
     133            grlib_uart_init(machine.bootinfo->uart_base,
     134            machine.bootinfo->uart_irq);
     135       
    138136        if (machine.scons_dev)
    139137                stdout_wire(machine.scons_dev);
     
    148146                /* Create input device. */
    149147                scons_inst = (void *)machine.scons_dev->data;
    150 
     148               
    151149                srln_instance_t *srln_instance = srln_init();
    152150                if (srln_instance) {
     
    154152                        indev_t *srln = srln_wire(srln_instance, sink);
    155153                        grlib_uart_input_wire(scons_inst, srln);
    156 
     154                       
    157155                        /* Enable interrupts from UART */
    158                         grlib_irqmp_unmask(&machine.irqmp, machine.bootinfo->uart_irq);
     156                        grlib_irqmp_unmask(&machine.irqmp,
     157                            machine.bootinfo->uart_irq);
    159158                }
    160159        }
     
    171170        return "LEON3";
    172171}
    173 
    174 
Note: See TracChangeset for help on using the changeset viewer.