Changeset 66fcba2 in mainline for kernel/arch/arm32/src/machine_func.c


Ignore:
Timestamp:
2010-06-20T15:35:39Z (14 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
6b80696, 7c866dc
Parents:
5ac77cc
Message:

Do not decide which machine_ops to use at link time.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/arm32/src/machine_func.c

    r5ac77cc r66fcba2  
    3939
    4040#include <arch/machine_func.h>
     41#include <arch/mach/integratorcp/integratorcp.h>
     42#include <arch/mach/testarm/testarm.h>
    4143
     44/** Pointer to machine_ops structure being used. */
     45struct arm_machine_ops *machine_ops;
     46
     47/** Initialize machine_ops pointer. */
     48void machine_ops_init(void)
     49{
     50#if defined(MACHINE_testarm)
     51        machine_ops = &gxemul_machine_ops;
     52#elif defined(MACHINE_integratorcp)
     53        machine_ops = &icp_machine_ops;
     54#else
     55#error Machine type not defined.
     56#endif
     57}
    4258
    4359/** Maps HW devices to the kernel address space using #hw_map. */
    4460void machine_init(void)
    4561{
    46         (machine_ops.machine_init)();
     62        (machine_ops->machine_init)();
    4763}
    4864
     
    5167void machine_timer_irq_start(void)
    5268{
    53         (machine_ops.machine_timer_irq_start)();
     69        (machine_ops->machine_timer_irq_start)();
    5470}
    5571
     
    5874void machine_cpu_halt(void)
    5975{
    60         (machine_ops.machine_cpu_halt)();
     76        (machine_ops->machine_cpu_halt)();
    6177}
    6278
     
    6884uintptr_t machine_get_memory_size(void)
    6985{
    70         return (machine_ops.machine_get_memory_size)();
     86        return (machine_ops->machine_get_memory_size)();
    7187}
    7288
     
    7894void machine_irq_exception(unsigned int exc_no, istate_t *istate)
    7995{
    80         (machine_ops.machine_irq_exception)(exc_no, istate);
     96        (machine_ops->machine_irq_exception)(exc_no, istate);
    8197}
    8298
     
    87103void machine_frame_init(void)
    88104{
    89         (machine_ops.machine_frame_init)();
     105        (machine_ops->machine_frame_init)();
    90106}
    91107
     
    95111void machine_output_init(void)
    96112{
    97         (machine_ops.machine_output_init)();
     113        (machine_ops->machine_output_init)();
    98114}
    99115
     
    103119void machine_input_init(void)
    104120{
    105         (machine_ops.machine_input_init)();
     121        (machine_ops->machine_input_init)();
    106122}
    107123
Note: See TracChangeset for help on using the changeset viewer.