Changeset 4872160 in mainline for kernel/arch/sparc64/include


Ignore:
Timestamp:
2010-05-04T10:44:55Z (16 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
568db0f
Parents:
bb252ca
Message:

new boot infrastructure

  • more code and metadata unification
  • import of up-to-date implementations from the kernel
  • the boot loaders should behave more similarly on all platforms
  • support for deflate compressed (LZ77) boot components
    • this again allows feasible boot images to be created on mips32
  • IA64 is still not booting
    • the broken forked GNU EFI library has been removed, a replacement of the functionality is on its way
Location:
kernel/arch/sparc64/include
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/sparc64/include/arch.h

    rbb252ca r4872160  
    2727 */
    2828
    29 /** @addtogroup sparc64 
     29/** @addtogroup sparc64
    3030 * @{
    3131 */
    3232/**
    3333 * @file
    34  * @brief       Various sparc64-specific macros.
     34 * @brief Various sparc64-specific macros.
    3535 */
    3636
    3737#ifndef KERN_sparc64_ARCH_H_
    3838#define KERN_sparc64_ARCH_H_
     39
     40#include <arch/boot/boot.h>
    3941
    4042#if defined (SUN4U)
     
    4446#endif
    4547
    46 #define ASI_AIUP                0x10    /** Access to primary context with user privileges. */
    47 #define ASI_AIUS                0x11    /** Access to secondary context with user privileges. */
     48#define ASI_AIUP  0x10  /** Access to primary context with user privileges. */
     49#define ASI_AIUS  0x11  /** Access to secondary context with user privileges. */
    4850
    49 #define NWINDOWS                8       /** Number of register window sets. */
     51#define NWINDOWS  8  /** Number of register window sets. */
    5052
    5153#ifndef __ASM__
    5254
    53 extern void arch_pre_main(void);
     55extern void arch_pre_main(bootinfo_t *);
    5456
    5557#endif /* __ASM__ */
    56 
    5758
    5859#endif
  • kernel/arch/sparc64/include/boot/boot.h

    rbb252ca r4872160  
    2727 */
    2828
    29 /** @addtogroup sparc64 
     29/** @addtogroup sparc64
    3030 * @{
    3131 */
     
    3636#define KERN_sparc64_BOOT_H_
    3737
    38 #define VMA                     0x400000
    39 #define LMA                     VMA
     38#define VMA  0x400000
     39#define LMA  VMA
    4040
    4141#ifndef __ASM__
     
    4646#include <genarch/ofw/ofw_tree.h>
    4747
    48 #define TASKMAP_MAX_RECORDS     32
    49 #define MEMMAP_MAX_RECORDS      32
     48#define TASKMAP_MAX_RECORDS  32
     49#define MEMMAP_MAX_RECORDS   32
    5050
    51 #define BOOTINFO_TASK_NAME_BUFLEN 32
     51#define BOOTINFO_TASK_NAME_BUFLEN  32
    5252
    5353typedef struct {
    54         void * addr;
    55         uint32_t size;
     54        void *addr;
     55        size_t size;
    5656        char name[BOOTINFO_TASK_NAME_BUFLEN];
    5757} utask_t;
    5858
    5959typedef struct {
    60         uint32_t count;
     60        size_t cnt;
    6161        utask_t tasks[TASKMAP_MAX_RECORDS];
    6262} taskmap_t;
    6363
    6464typedef struct {
    65         uintptr_t start;
    66         uint32_t size;
     65        void *start;
     66        size_t size;
    6767} memzone_t;
    6868
    6969typedef struct {
    70         uint32_t total;
    71         uint32_t count;
     70        uint64_t total;
     71        size_t cnt;
    7272        memzone_t zones[MEMMAP_MAX_RECORDS];
    7373} memmap_t;
     
    7676 *
    7777 * Must be in sync with bootinfo structure used by the boot loader.
     78 *
    7879 */
    7980typedef struct {
     
    8586} bootinfo_t;
    8687
    87 extern bootinfo_t bootinfo;
     88extern memmap_t memmap;
     89extern uintptr_t physmem_start;
    8890
    8991#endif
Note: See TracChangeset for help on using the changeset viewer.