Esempio n. 1
0
void
rtems_monitor_mpci_canonical(
    rtems_monitor_mpci_t *canonical_mpci,
    const void           *config_void
)
{
    const rtems_configuration_table *c = &Configuration;
    rtems_multiprocessing_table *m;
    rtems_mpci_table *mt;

    m = c->User_multiprocessing_table;
    if (m == 0)
        return;
    mt = m->User_mpci_table;

    canonical_mpci->node = m->node;
    canonical_mpci->maximum_nodes = m->maximum_nodes;
    canonical_mpci->maximum_global_objects = m->maximum_global_objects;
    canonical_mpci->maximum_proxies = m->maximum_proxies;

    canonical_mpci->default_timeout = mt->default_timeout;
    canonical_mpci->maximum_packet_size = mt->maximum_packet_size;

    rtems_monitor_symbol_canonical_by_value(&canonical_mpci->initialization,
                                            (void *) mt->initialization);

    rtems_monitor_symbol_canonical_by_value(&canonical_mpci->get_packet,
                                            (void *) mt->get_packet);
    rtems_monitor_symbol_canonical_by_value(&canonical_mpci->return_packet,
                                            (void *) mt->return_packet);
    rtems_monitor_symbol_canonical_by_value(&canonical_mpci->send_packet,
                                            (void *) mt->send_packet);
    rtems_monitor_symbol_canonical_by_value(&canonical_mpci->receive_packet,
                                            (void *) mt->receive_packet);
}
Esempio n. 2
0
void
rtems_monitor_extension_canonical(
    rtems_monitor_extension_t *canonical_extension,
    const void                *extension_void
)
{
    const Extension_Control *rtems_extension = (const Extension_Control *) extension_void;
    const rtems_extensions_table *e = &rtems_extension->Extension.Callouts;

    rtems_monitor_symbol_canonical_by_value(&canonical_extension->e_create,
                                            (void *) e->thread_create);

    rtems_monitor_symbol_canonical_by_value(&canonical_extension->e_start,
                                            (void *) e->thread_start);
    rtems_monitor_symbol_canonical_by_value(&canonical_extension->e_restart,
                                            (void *) e->thread_restart);
    rtems_monitor_symbol_canonical_by_value(&canonical_extension->e_delete,
                                            (void *) e->thread_delete);
    rtems_monitor_symbol_canonical_by_value(&canonical_extension->e_tswitch,
                                            (void *) e->thread_switch);
    rtems_monitor_symbol_canonical_by_value(&canonical_extension->e_begin,
                                            (void *) e->thread_begin);
    rtems_monitor_symbol_canonical_by_value(&canonical_extension->e_exitted,
                                            (void *) e->thread_exitted);
    rtems_monitor_symbol_canonical_by_value(&canonical_extension->e_fatal,
                                            (void *) e->fatal);
}
Esempio n. 3
0
/*
 * As above, but just for init tasks
 */
void
rtems_monitor_init_task_canonical(
    rtems_monitor_init_task_t *canonical_itask,
    const void                *itask_void
)
{
    const rtems_initialization_tasks_table *rtems_itask = itask_void;

    rtems_monitor_symbol_canonical_by_value(&canonical_itask->entry,
                                            (void *) rtems_itask->entry_point);

    canonical_itask->argument = rtems_itask->argument;
    canonical_itask->stack_size = rtems_itask->stack_size;
    canonical_itask->priority = rtems_itask->initial_priority;
    canonical_itask->modes = rtems_itask->mode_set;
    canonical_itask->attributes = rtems_itask->attribute_set;
}
Esempio n. 4
0
void
rtems_monitor_driver_canonical(
    rtems_monitor_driver_t *canonical_driver,
    const void             *driver_void
)
{
    const rtems_driver_address_table *d = (const rtems_driver_address_table *) driver_void;

    rtems_monitor_symbol_canonical_by_value(&canonical_driver->initialization,
                                            (void *) d->initialization_entry);

    rtems_monitor_symbol_canonical_by_value(&canonical_driver->open,
                                            (void *) d->open_entry);
    rtems_monitor_symbol_canonical_by_value(&canonical_driver->close,
                                            (void *) d->close_entry);
    rtems_monitor_symbol_canonical_by_value(&canonical_driver->read,
                                            (void *) d->read_entry);
    rtems_monitor_symbol_canonical_by_value(&canonical_driver->write,
                                            (void *) d->write_entry);
    rtems_monitor_symbol_canonical_by_value(&canonical_driver->control,
                                            (void *) d->control_entry);
}