Changeset 4872160 in mainline for boot/genarch/include/ofw.h


Ignore:
Timestamp:
2010-05-04T10:44:55Z (14 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
File:
1 moved

Legend:

Unmodified
Added
Removed
  • boot/genarch/include/ofw.h

    rbb252ca r4872160  
    3030#define BOOT_OFW_H_
    3131
    32 #include <types.h>
     32#include <typedefs.h>
    3333#include <stdarg.h>
    3434
     
    4141
    4242typedef unative_t ofw_arg_t;
    43 typedef unsigned int ihandle;
    44 typedef unsigned int phandle;
     43typedef native_t ofw_ret_t;
     44typedef uint32_t ofw_prop_t;
     45typedef uint32_t ihandle;
     46typedef uint32_t phandle;
    4547
    4648/** OpenFirmware command structure
     
    5658typedef struct {
    5759        void *start;
    58         uint32_t size;
     60        size_t size;
    5961} memzone_t;
    6062
    6163typedef struct {
    62         uint32_t total;
    63         uint32_t count;
     64        uint64_t total;
     65        size_t cnt;
    6466        memzone_t zones[MEMMAP_MAX_RECORDS];
    6567} memmap_t;
     
    8789extern void ofw_init(void);
    8890
    89 extern void ofw_write(const char *str, const int len);
     91extern void ofw_putchar(const char);
    9092
    91 extern int ofw_get_property(const phandle device, const char *name, void *buf, const int buflen);
    92 extern int ofw_get_proplen(const phandle device, const char *name);
    93 extern int ofw_next_property(const phandle device, char *previous, char *buf);
     93extern ofw_arg_t ofw_get_property(const phandle, const char *, void *,
     94    const size_t);
     95extern ofw_arg_t ofw_get_proplen(const phandle, const char *);
     96extern ofw_arg_t ofw_next_property(const phandle, char *, char *);
    9497
    95 extern phandle ofw_get_child_node(const phandle node);
    96 extern phandle ofw_get_peer_node(const phandle node);
    97 extern phandle ofw_find_device(const char *name);
     98extern phandle ofw_get_child_node(const phandle);
     99extern phandle ofw_get_peer_node(const phandle);
     100extern phandle ofw_find_device(const char *);
    98101
    99 extern int ofw_package_to_path(const phandle device, char *buf, const int buflen);
     102extern ofw_arg_t ofw_package_to_path(const phandle, char *, const size_t);
    100103
    101 extern int ofw(ofw_args_t *arg);
    102 extern unsigned long ofw_call(const char *service, const int nargs, const int nret, ofw_arg_t *rets, ...);
    103 extern unsigned int ofw_get_address_cells(const phandle device);
    104 extern unsigned int ofw_get_size_cells(const phandle device);
    105 extern void *ofw_translate(const void *virt);
    106 extern int ofw_translate_failed(ofw_arg_t flag);
    107 extern void *ofw_claim_virt(const void *virt, const unsigned int len);
    108 extern void *ofw_claim_phys(const void *virt, const unsigned int len);
    109 extern void *ofw_claim_phys_any(const unsigned int len, const unsigned int alignment);
    110 extern int ofw_map(const void *phys, const void *virt, const unsigned int size, const int mode);
    111 extern int ofw_memmap(memmap_t *map);
     104extern ofw_arg_t ofw(ofw_args_t *);
     105extern ofw_arg_t ofw_call(const char *, const size_t, const size_t, ofw_arg_t *,
     106    ...);
     107
     108extern size_t ofw_get_address_cells(const phandle);
     109extern size_t ofw_get_size_cells(const phandle);
     110
     111extern void *ofw_translate(const void *);
     112
     113extern void ofw_claim_virt(const void *, const size_t);
     114extern void *ofw_claim_virt_any(const size_t, const size_t);
     115
     116extern void ofw_claim_phys(const void *, const size_t);
     117extern void *ofw_claim_phys_any(const size_t, const size_t);
     118
     119extern void ofw_map(const void *, const void *, const size_t,
     120    const ofw_arg_t);
     121
     122extern void ofw_alloc(const char *, void **, void **, const size_t, void *);
     123
     124extern void ofw_memmap(memmap_t *);
    112125extern void ofw_setup_screens(void);
    113126extern void ofw_quiesce(void);
Note: See TracChangeset for help on using the changeset viewer.