Changeset 4520dc02 in mainline


Ignore:
Timestamp:
2006-06-01T05:52:46Z (19 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
bbeb5e4
Parents:
e0dd1a8
Message:

ppc32 bootloader debugging facility

Files:
1 added
8 edited

Legend:

Unmodified
Added
Removed
  • Makefile

    re0dd1a8 r4520dc02  
    4444-include arch/$(ARCH)/Makefile.inc
    4545
     46ifeq ($(CONFIG_DEBUG),y)
     47        DEFS += -DCONFIG_DEBUG
     48endif
     49
    4650.PHONY: all build config distclean arch_distclean clean kernel uspace clean_kernel clean_uspace distclean_kernel distclean_uspace
    4751
  • arch/ppc32/Makefile.inc

    re0dd1a8 r4520dc02  
    3030
    3131image.boot: kernel uspace
    32         make -C arch/$(ARCH)/loader COMPILER=$(COMPILER) KERNELDIR=../../../$(KERNELDIR) USPACEDIR=../../../$(USPACEDIR)
     32        make -C arch/$(ARCH)/loader COMPILER=$(COMPILER) KERNELDIR=../../../$(KERNELDIR) USPACEDIR=../../../$(USPACEDIR) "DEFS=$(DEFS)"
    3333        cp arch/$(ARCH)/loader/image.boot image.boot
    3434
  • arch/ppc32/loader/Makefile

    re0dd1a8 r4520dc02  
    4848
    4949CFLAGS = -nostdinc -nostdlib -fno-builtin -Werror-implicit-function-declaration -Wmissing-prototypes -Werror -O3 -mcpu=powerpc -msoft-float -m32
    50 DEFS =
    5150
    5251SOURCES = \
  • arch/ppc32/loader/asm.S

    re0dd1a8 r4520dc02  
    2929#include "asm.h"
    3030#include "regname.h"
     31#include "debug.inc"
    3132
    3233.text
     
    109110        # r6 = bytes to copy
    110111        # r7 = real_mode (pa)
     112        # r8 = framebuffer (pa)
     113        # r9 = scanline
    111114       
    112115        # disable interrupts
     
    124127        mfmsr r31
    125128        lis r30, ~0@h
    126         ori r30, r30, ~(msr_ir | msr_dr)@l
     129        ori r30, r30, ~(msr_ir | msr_dr | msr_ee)@l
    127130        and r31, r31, r30
    128131        mtspr srr1, r31
     
    137140
    138141real_mode:
     142
     143        DEBUG_real_mode
    139144       
    140145        # copy kernel to proper location
     
    142147        # r5 = trans (pa)
    143148        # r6 = bytes to copy
     149        # r8 = framebuffer (pa)
     150        # r9 = scanline
    144151       
    145152        li r31, PAGE_SIZE >> 2
     
    252259        sync
    253260        isync
     261       
     262        DEBUG_rfi
    254263        rfi
    255264
  • arch/ppc32/loader/asm.h

    re0dd1a8 r4520dc02  
    4545
    4646extern void halt();
    47 extern void jump_to_kernel(void *bootinfo, unsigned int bootinfo_size, void *trans, unsigned int kernel_size, void *real_mode) __attribute__((noreturn));
     47extern void jump_to_kernel(void *bootinfo, unsigned int bootinfo_size, void *trans, unsigned int kernel_size, void *real_mode, void *fb, unsigned int scanline) __attribute__((noreturn));
    4848extern void real_mode();
    4949
  • arch/ppc32/loader/main.c

    re0dd1a8 r4520dc02  
    151151       
    152152        printf("\nBooting the kernel...\n");
    153         jump_to_kernel(bootinfo_pa, sizeof(bootinfo), trans_pa, pages << PAGE_WIDTH, real_mode_pa);
     153        jump_to_kernel(bootinfo_pa, sizeof(bootinfo), trans_pa, pages << PAGE_WIDTH, real_mode_pa, bootinfo.screen.addr, bootinfo.screen.scanline);
    154154}
  • arch/ppc32/loader/regname.h

    re0dd1a8 r4520dc02  
    211211#define msr_ir  (1 << 4)
    212212#define msr_dr  (1 << 5)
     213#define msr_ee  (1 << 15)
    213214
    214215/* HID0 bits */
  • boot.config

    re0dd1a8 r4520dc02  
    1717% [ARCH=ppc32] SAVEAS PPC32_COMPILER COMPILER
    1818
     19# Debug bootloader
     20! [ARCH=ppc32] CONFIG_DEBUG (y/n)
     21
    1922# PPC64 Compiler
    2023@ "cross" Cross-compiler
Note: See TracChangeset for help on using the changeset viewer.