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


Ignore:
Timestamp:
2010-05-04T10:44:55Z (15 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:
boot/arch/sparc64/include
Files:
1 added
4 moved

Legend:

Unmodified
Added
Removed
  • boot/arch/sparc64/include/asm.h

    rbb252ca r4872160  
    11/*
     2 * Copyright (c) 2006 Martin Decky
    23 * Copyright (c) 2006 Jakub Jermar
    34 * All rights reserved.
     
    2728 */
    2829
    29 #ifndef BOOT_sparc64_REGISTER_H_
    30 #define BOOT_sparc64_REGISTER_H_
     30#ifndef BOOT_sparc64_ASM_H_
     31#define BOOT_sparc64_ASM_H_
    3132
    32 #define PSTATE_IE_BIT    2
    33 #define PSTATE_PRIV_BIT  4
    34 #define PSTATE_AM_BIT    8
     33#include <typedefs.h>
    3534
    36 #define ASI_ICBUS_CONFIG        0x4a
    37 #define ICBUS_CONFIG_MID_SHIFT  17
     35extern void jump_to_kernel(void *entry, bootinfo_t *bootinfo,
     36    uintptr_t physmem_start, uint8_t subarch) __attribute__((noreturn));
    3837
    3938#endif
  • boot/arch/sparc64/include/main.h

    rbb252ca r4872160  
    11/*
    2  * Copyright (c) 2006 Martin Decky
     2 * Copyright (c) 2005 Martin Decky
    33 * All rights reserved.
    44 *
     
    2727 */
    2828
    29 #ifndef BOOT_mips32_TYPES_H_
    30 #define BOOT_mips32_TYPES_H_
     29#ifndef BOOT_sparc64_MAIN_H_
     30#define BOOT_sparc64_MAIN_H_
    3131
    32 #include <gentypes.h>
     32#include <typedefs.h>
     33#include <balloc.h>
     34#include <genarch/ofw_tree.h>
    3335
    34 typedef signed char int8_t;
     36typedef struct {
     37        uintptr_t physmem_start;
     38        taskmap_t taskmap;
     39        memmap_t memmap;
     40        ballocs_t ballocs;
     41        ofw_tree_node_t *ofw_root;
     42} bootinfo_t;
    3543
    36 typedef unsigned char uint8_t;
    37 typedef unsigned short uint16_t;
    38 typedef unsigned int uint32_t;
    39 typedef unsigned long long uint64_t;
    40 
    41 typedef uint32_t uintptr_t;
    42 typedef uint32_t unative_t;
     44extern void bootstrap(void);
    4345
    4446#endif
  • boot/arch/sparc64/include/ofw.h

    rbb252ca r4872160  
    2727 */
    2828
    29 #ifndef BOOT_sparc64_OFWARCH_H_
    30 #define BOOT_sparc64_OFWARCH_H_
     29#ifndef BOOT_sparc64_OFW_H_
     30#define BOOT_sparc64_OFW_H_
    3131
    32 #include "main.h"
    33 #include "types.h"
     32#include <typedefs.h>
    3433
    3534#define OFW_ADDRESS_CELLS  2
    3635#define OFW_SIZE_CELLS     2
    3736
    38 extern int ofw_cpu(uint16_t mid_mask, uintptr_t physmem_start);
    39 extern int ofw_get_physmem_start(uintptr_t *start);
     37extern uintptr_t ofw_get_physmem_start(void);
     38extern void ofw_cpu(uint16_t, uintptr_t);
    4039
    4140#endif
  • boot/arch/sparc64/include/types.h

    rbb252ca r4872160  
    3030#define BOOT_sparc64_TYPES_H_
    3131
    32 #include <gentypes.h>
     32#define TASKMAP_MAX_RECORDS        32
     33#define BOOTINFO_TASK_NAME_BUFLEN  32
    3334
    34 typedef signed char int8_t;
    35 
    36 typedef unsigned char uint8_t;
    37 typedef unsigned short uint16_t;
    38 typedef unsigned int uint32_t;
    39 typedef unsigned long uint64_t;
    40 
     35typedef uint64_t size_t;
    4136typedef uint64_t uintptr_t;
    4237typedef uint64_t unative_t;
     38typedef int64_t native_t;
     39
     40typedef struct {
     41        void *addr;
     42        size_t size;
     43        char name[BOOTINFO_TASK_NAME_BUFLEN];
     44} task_t;
     45
     46typedef struct {
     47        size_t cnt;
     48        task_t tasks[TASKMAP_MAX_RECORDS];
     49} taskmap_t;
    4350
    4451#endif
Note: See TracChangeset for help on using the changeset viewer.