Changeset c34f98f in mainline


Ignore:
Timestamp:
2006-06-06T17:09:10Z (19 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
9d371cb
Parents:
9fa072dc
Message:

update boot loader API

Location:
arch/ppc32/loader
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • arch/ppc32/loader/main.c

    r9fa072dc rc34f98f  
    101101        }
    102102       
     103        if (!ofw_keyboard(&bootinfo.keyboard)) {
     104                printf("Error: unable to get keyboard properties, halting.\n");
     105                halt();
     106        }
     107       
    103108        printf("\nDevice statistics\n");
    104109        printf(" screen at %L, resolution %dx%d, %d bpp (scanline %d bytes)\n", bootinfo.screen.addr, bootinfo.screen.width, bootinfo.screen.height, bootinfo.screen.bpp, bootinfo.screen.scanline);
     110        printf(" keyboard at %L (size %d bytes)\n", bootinfo.keyboard.addr, bootinfo.keyboard.size);
    105111       
    106112        void *real_mode_pa = ofw_translate(&real_mode);
  • arch/ppc32/loader/main.h

    r9fa072dc rc34f98f  
    5555        memmap_t memmap;
    5656        screen_t screen;
     57        keyboard_t keyboard;
    5758} bootinfo_t;
    5859
  • arch/ppc32/loader/ofw.c

    r9fa072dc rc34f98f  
    246246        return true;
    247247}
     248
     249
     250int ofw_keyboard(keyboard_t *keyboard)
     251{
     252        char device_name[BUF_SIZE];
     253       
     254        if (ofw_get_property(ofw_aliases, "macio", device_name, sizeof(char) * BUF_SIZE) <= 0)
     255                return false;
     256       
     257        phandle device = ofw_find_device(device_name);
     258        if (device == -1)
     259                return false;
     260       
     261        // FIXME
     262        keyboard->addr = (void *) 0x80816000;
     263        keyboard->size = 7680;
     264       
     265        return true;
     266}
  • arch/ppc32/loader/ofw.h

    r9fa072dc rc34f98f  
    6060} screen_t;
    6161
     62typedef struct {
     63        void *addr;
     64        unsigned int size;
     65} keyboard_t;
     66
    6267
    6368extern void init(void);
     
    6873extern int ofw_memmap(memmap_t *map);
    6974extern int ofw_screen(screen_t *screen);
     75extern int ofw_keyboard(keyboard_t *keyboard);
    7076
    7177#endif
Note: See TracChangeset for help on using the changeset viewer.