Changeset f817d3a in mainline for kernel/arch/ppc32/src/ppc32.c


Ignore:
Timestamp:
2009-01-29T17:24:35Z (16 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
43d6401
Parents:
26c67a8
Message:

use macio optionally

File:
1 edited

Legend:

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

    r26c67a8 rf817d3a  
    7777        if (config.cpu_active == 1) {
    7878                /* Initialize framebuffer */
    79                 unsigned int visual;
    80                
    81                 switch (bootinfo.screen.bpp) {
    82                 case 8:
    83                         visual = VISUAL_INDIRECT_8;
    84                         break;
    85                 case 16:
    86                         visual = VISUAL_RGB_5_5_5;
    87                         break;
    88                 case 24:
    89                         visual = VISUAL_RGB_8_8_8;
    90                         break;
    91                 case 32:
    92                         visual = VISUAL_RGB_0_8_8_8;
    93                         break;
    94                 default:
    95                         panic("Unsupported bits per pixel.");
     79                if (bootinfo.screen.addr) {
     80                        unsigned int visual;
     81                       
     82                        switch (bootinfo.screen.bpp) {
     83                        case 8:
     84                                visual = VISUAL_INDIRECT_8;
     85                                break;
     86                        case 16:
     87                                visual = VISUAL_RGB_5_5_5;
     88                                break;
     89                        case 24:
     90                                visual = VISUAL_RGB_8_8_8;
     91                                break;
     92                        case 32:
     93                                visual = VISUAL_RGB_0_8_8_8;
     94                                break;
     95                        default:
     96                                panic("Unsupported bits per pixel.");
     97                        }
     98                        fb_properties_t prop = {
     99                                .addr = bootinfo.screen.addr,
     100                                .offset = 0,
     101                                .x = bootinfo.screen.width,
     102                                .y = bootinfo.screen.height,
     103                                .scan = bootinfo.screen.scanline,
     104                                .visual = visual,
     105                        };
     106                        fb_init(&prop);
    96107                }
    97                 fb_properties_t prop = {
    98                         .addr = bootinfo.screen.addr,
    99                         .offset = 0,
    100                         .x = bootinfo.screen.width,
    101                         .y = bootinfo.screen.height,
    102                         .scan = bootinfo.screen.scanline,
    103                         .visual = visual,
    104                 };
    105                 fb_init(&prop);
    106108               
    107109                /* Initialize IRQ routing */
    108110                irq_init(IRQ_COUNT, IRQ_COUNT);
    109        
    110                 /* Initialize PIC */
    111                 pic_init(bootinfo.keyboard.addr, PAGE_SIZE);
    112111               
    113                 /* Initialize I/O controller */
    114                 cuda_init(device_assign_devno(),
    115                     bootinfo.keyboard.addr + 0x16000, 2 * PAGE_SIZE);
     112                if (bootinfo.macio.addr) {
     113                        /* Initialize PIC */
     114                        pic_init(bootinfo.macio.addr, PAGE_SIZE);
     115                       
     116                        /* Initialize I/O controller */
     117                        cuda_init(device_assign_devno(),
     118                            bootinfo.macio.addr + 0x16000, 2 * PAGE_SIZE);
     119                }
    116120               
    117121                /* Merge all zones to 1 big zone */
Note: See TracChangeset for help on using the changeset viewer.