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


Ignore:
Timestamp:
2016-06-06T16:29:56Z (8 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/ppc32/src/ppc32.c

    r7f0580d r36df4109  
    3333 */
    3434
     35#include <arch.h>
     36#include <arch/arch.h>
    3537#include <config.h>
    36 #include <arch.h>
    3738#include <arch/boot/boot.h>
    3839#include <genarch/drivers/via-cuda/cuda.h>
     
    6162#define IRQ_CUDA   10
    6263
     64static void ppc32_pre_mm_init(void);
     65static void ppc32_post_mm_init(void);
     66static void ppc32_post_smp_init(void);
     67
     68arch_ops_t ppc32_ops = {
     69        .pre_mm_init = ppc32_pre_mm_init,
     70        .post_mm_init = ppc32_post_mm_init,
     71        .post_smp_init = ppc32_post_smp_init,
     72};
     73
     74arch_ops_t *arch_ops = &ppc32_ops;
     75
    6376bootinfo_t bootinfo;
    6477
     
    6780
    6881/** Performs ppc32-specific initialization before main_bsp() is called. */
    69 void arch_pre_main(bootinfo_t *bootinfo)
     82void ppc32_pre_main(bootinfo_t *bootinfo)
    7083{
    7184        /* Copy tasks map. */
     
    95108}
    96109
    97 void arch_pre_mm_init(void)
     110void ppc32_pre_mm_init(void)
    98111{
    99112        /* Initialize dispatch table */
     
    192205#endif
    193206
    194 void arch_post_mm_init(void)
     207void ppc32_post_mm_init(void)
    195208{
    196209        if (config.cpu_active == 1) {
     
    207220                zone_merge_all();
    208221        }
    209 }
    210 
    211 void arch_post_cpu_init(void)
    212 {
    213 }
    214 
    215 void arch_pre_smp_init(void)
    216 {
    217222}
    218223
     
    273278}
    274279
    275 void arch_post_smp_init(void)
     280void ppc32_post_smp_init(void)
    276281{
    277282        /* Currently the only supported platform for ppc32 is 'mac'. */
Note: See TracChangeset for help on using the changeset viewer.