Changeset 36df4109 in mainline for kernel/arch/sparc64/src/sun4v


Ignore:
Timestamp:
2016-06-06T16:29:56Z (10 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.

Location:
kernel/arch/sparc64/src/sun4v
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/sparc64/src/sun4v/sparc64.c

    r7f0580d r36df4109  
    3434
    3535#include <arch.h>
     36#include <arch/arch.h>
    3637#include <debug.h>
    3738#include <config.h>
     
    5455#include <sysinfo/sysinfo.h>
    5556
     57static void sparc64_pre_mm_init(void);
     58static void sparc64_post_mm_init(void);
     59static void sparc64_post_smp_init(void);
     60
     61arch_ops_t sparc64_ops = {
     62        .pre_mm_init = sparc64_pre_mm_init,
     63        .post_mm_init = sparc64_post_mm_init,
     64        .post_smp_init = sparc64_post_smp_init,
     65};
     66
     67arch_ops_t *arch_ops = &sparc64_ops;
     68
    5669memmap_t memmap;
    5770
    5871/** Perform sparc64-specific initialization before main_bsp() is called. */
    59 void arch_pre_main(bootinfo_t *bootinfo)
     72void sparc64_pre_main(bootinfo_t *bootinfo)
    6073{
    6174        /* Copy init task info. */
     
    8295
    8396/** Perform sparc64 specific initialization before mm is initialized. */
    84 void arch_pre_mm_init(void)
     97void sparc64_pre_mm_init(void)
    8598{
    8699        if (config.cpu_active == 1) {
     
    91104
    92105/** Perform sparc64 specific initialization afterr mm is initialized. */
    93 void arch_post_mm_init(void)
     106void sparc64_post_mm_init(void)
    94107{
    95108        if (config.cpu_active == 1) {
     
    105118}
    106119
    107 void arch_post_cpu_init(void)
    108 {
    109 }
    110 
    111 void arch_pre_smp_init(void)
    112 {
    113 }
    114 
    115 void arch_post_smp_init(void)
     120void sparc64_post_smp_init(void)
    116121{
    117122        /* Currently the only supported platform for sparc64/sun4v is 'sun4v'. */
  • kernel/arch/sparc64/src/sun4v/start.S

    r7f0580d r36df4109  
    248248
    249249        /*
    250          * Call arch_pre_main(bootinfo)
    251          */
    252         call arch_pre_main
     250         * Call sparc64_pre_main(bootinfo)
     251         */
     252        call sparc64_pre_main
    253253        or %l1, %g0, %o0
    254254       
Note: See TracChangeset for help on using the changeset viewer.