Ignore:
Timestamp:
2009-03-12T23:26:32Z (16 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
648c9d9
Parents:
3b122e9
Message:

arm32: update for the new scheme of device drivers and keyboard/serial modules
streamline arm32 port (as GXemul is still the only machine supported), more cleanup is needed

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/arm32/include/drivers/gxemul.h

    r3b122e9 r00287cc  
    3939#define KERN_arm32_GXEMUL_H_
    4040
    41 #include <console/chardev.h>
    42 
    43 /** Last interrupt number (beginning from 0) whose status is probed
     41/** Last interrupt number (beginning from 0) whose status is probed
    4442 * from interrupt controller
    4543 */
    46 #define GXEMUL_IRQC_MAX_IRQ             8
     44#define GXEMUL_IRQC_MAX_IRQ  8
     45#define GXEMUL_KBD_IRQ       2
     46#define GXEMUL_TIMER_IRQ     4
    4747
    4848/** Timer frequency */
    49 #define GXEMUL_TIMER_FREQ               100
     49#define GXEMUL_TIMER_FREQ  100
    5050
    51 /** Struct containing mappings of gxemul HW devices into kernel part
    52  *  of virtual address space.
    53  */
    54 typedef struct {
    55         uintptr_t videoram;
    56         uintptr_t kbd;
    57         uintptr_t rtc;
    58         uintptr_t rtc_freq;
    59         uintptr_t rtc_ack;
    60         uintptr_t irqc;
    61         uintptr_t irqc_mask;
    62         uintptr_t irqc_unmask;
    63 } gxemul_hw_map_t;
     51#define GXEMUL_KBD_ADDRESS   0x10000000
     52#define GXEMUL_MP_ADDRESS    0x11000000
     53#define GXEMUL_FB_ADDRESS    0x12000000
     54#define GXEMUL_RTC_ADDRESS   0x15000000
     55#define GXEMUL_IRQC_ADDRESS  0x16000000
    6456
    65 extern void gxemul_hw_map_init(void);
    66 extern void gxemul_console_init(devno_t devno);
    67 extern void gxemul_release_console(void);
    68 extern void gxemul_grab_console(void);
    69 extern void gxemul_timer_irq_start(void);
    70 extern void gxemul_debug_putc(char ch);
    71 extern void gxemul_cpu_halt(void);
    72 extern void gxemul_irq_exception(int exc_no, istate_t *istate);
    73 extern size_t gxemul_get_memory_size(void);
    74 extern uintptr_t gxemul_get_fb_address(void);
     57extern void *gxemul_kbd;
     58extern void *gxemul_rtc;
     59extern void *gxemul_irqc;
     60
     61#define GXEMUL_HALT_OFFSET        0x010
     62#define GXEMUL_RTC_FREQ_OFFSET    0x100
     63#define GXEMUL_MP_MEMSIZE_OFFSET  0x090
     64#define GXEMUL_RTC_ACK_OFFSET     0x110
     65
     66extern void gxemul_init(void);
    7567
    7668#endif
Note: See TracChangeset for help on using the changeset viewer.