Changeset 36df4109 in mainline for kernel/arch/ia32/src/ia32.c


Ignore:
Timestamp:
2016-06-06T16:29:56Z (9 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
7510326
Parents:
7f0580d
Message:

Introduce architecure-specific operations

This replaces the arch_*_init() functions with an arch_ops_t structure
defined for each architecture. Undefined operations are treated as NOPs.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/ia32/src/ia32.c

    r7f0580d r36df4109  
    3636
    3737#include <arch.h>
     38#include <arch/arch.h>
    3839#include <typedefs.h>
    3940#include <errno.h>
     
    6465#endif
    6566
     67static void ia32_pre_mm_init(void);
     68static void ia32_post_mm_init(void);
     69static void ia32_post_cpu_init(void);
     70static void ia32_pre_smp_init(void);
     71static void ia32_post_smp_init(void);
     72
     73arch_ops_t ia32_ops = {
     74        .pre_mm_init = ia32_pre_mm_init,
     75        .post_mm_init = ia32_post_mm_init,
     76        .post_cpu_init = ia32_post_cpu_init,
     77        .pre_smp_init = ia32_pre_smp_init,
     78        .post_smp_init = ia32_post_smp_init,
     79};
     80
     81arch_ops_t *arch_ops = &ia32_ops;
     82
    6683/** Perform ia32-specific initialization before main_bsp() is called.
    6784 *
     
    7087 *
    7188 */
    72 void arch_pre_main(uint32_t signature, void *info)
     89void ia32_pre_main(uint32_t signature, void *info)
    7390{
    7491        /* Parse multiboot information obtained from the bootloader. */
     
    83100}
    84101
    85 void arch_pre_mm_init(void)
     102void ia32_pre_mm_init(void)
    86103{
    87104        pm_init();
     
    96113}
    97114
    98 void arch_post_mm_init(void)
     115void ia32_post_mm_init(void)
    99116{
    100117        vreg_init();
     
    129146}
    130147
    131 void arch_post_cpu_init(void)
     148void ia32_post_cpu_init(void)
    132149{
    133150#ifdef CONFIG_SMP
     
    139156}
    140157
    141 void arch_pre_smp_init(void)
     158void ia32_pre_smp_init(void)
    142159{
    143160        if (config.cpu_active == 1) {
     
    148165}
    149166
    150 void arch_post_smp_init(void)
     167void ia32_post_smp_init(void)
    151168{
    152169        /* Currently the only supported platform for ia32 is 'pc'. */
Note: See TracChangeset for help on using the changeset viewer.