Ignore:
File:
1 edited

Legend:

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

    rd4d36f9 r7510326  
    3636#define KERN_ARCH_H_
    3737
    38 #include <arch/arch.h>  /* arch_pre_main() */
    3938#include <arch/asm.h>   /* get_stack_base() */
    4039#include <config.h>
     
    8079} the_t;
    8180
     81typedef struct {
     82        void (* pre_mm_init)(void);
     83        void (* post_mm_init)(void);
     84        void (* post_cpu_init)(void);
     85        void (* pre_smp_init)(void);
     86        void (* post_smp_init)(void);
     87} arch_ops_t;
     88
     89extern arch_ops_t *arch_ops;
     90
     91#define ARCH_STRUCT_OP(s, op) \
     92        do { \
     93                if ((s)->op) \
     94                        (s)->op(); \
     95        } while (0)
     96
     97#define ARCH_OP(op)     ARCH_STRUCT_OP(arch_ops, op)
     98
    8299extern void the_initialize(the_t *);
    83100extern void the_copy(the_t *, the_t *);
    84 
    85 extern void arch_pre_mm_init(void);
    86 extern void arch_post_mm_init(void);
    87 extern void arch_post_cpu_init(void);
    88 extern void arch_pre_smp_init(void);
    89 extern void arch_post_smp_init(void);
    90101
    91102extern void calibrate_delay_loop(void);
     
    95106extern void *arch_construct_function(fncptr_t *, void *, void *);
    96107
    97 
    98108#endif
    99109
Note: See TracChangeset for help on using the changeset viewer.