OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [or1ksim/] [libtoplevel.c] - Diff between revs 82 and 93

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 82 Rev 93
Line 59... Line 59...
/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
int
int
or1ksim_init (const char *config_file,
or1ksim_init (const char *config_file,
              const char *image_file,
              const char *image_file,
              void       *class_ptr,
              void       *class_ptr,
              unsigned long int (*upr) (void *class_ptr,
              int       (*upr) (void              *class_ptr,
                                        unsigned long int addr,
                                        unsigned long int addr,
                                        unsigned long int mask),
                                unsigned char      mask[],
              void (*upw) (void *class_ptr,
                                unsigned char      rdata[],
 
                                int                data_len),
 
              int       (*upw) (void              *class_ptr,
                           unsigned long int addr,
                           unsigned long int addr,
                           unsigned long int mask, unsigned long int wdata))
                                unsigned char      mask[],
 
                                unsigned char      wdata[],
 
                                int                data_len))
{
{
  int   dummy_argc;
  int   dummy_argc;
  char *dummy_argv[4];
  char *dummy_argv[4];
 
 
  /* Dummy argv array. Varies depending on whether an image file is
  /* Dummy argv array. Varies depending on whether an image file is
Line 320... Line 324...
or1ksim_interrupt (int i)
or1ksim_interrupt (int i)
{
{
  if (!config.pic.edge_trigger)
  if (!config.pic.edge_trigger)
    {
    {
      fprintf (stderr, "Warning: or1ksim_interrupt should not be used for "
      fprintf (stderr, "Warning: or1ksim_interrupt should not be used for "
               "edge triggered interrupts. Ignored\n");
               "level triggered interrupts. Ignored\n");
    }
    }
  else
  else
    {
    {
      runtime.sim.ext_int_set |= 1 << i;        // Better not be > 31!
      runtime.sim.ext_int_set |= 1 << i;        // Better not be > 31!
      runtime.sim.ext_int_clr |= 1 << i;        // Better not be > 31!
      runtime.sim.ext_int_clr |= 1 << i;        // Better not be > 31!
Line 347... Line 351...
or1ksim_interrupt_set (int i)
or1ksim_interrupt_set (int i)
{
{
  if (config.pic.edge_trigger)
  if (config.pic.edge_trigger)
    {
    {
      fprintf (stderr, "Warning: or1ksim_interrupt_set should not be used for "
      fprintf (stderr, "Warning: or1ksim_interrupt_set should not be used for "
               "level triggered interrupts. Ignored\n");
               "edge triggered interrupts. Ignored\n");
    }
    }
  else
  else
    {
    {
      runtime.sim.ext_int_set |= 1 << i;        // Better not be > 31!
      runtime.sim.ext_int_set |= 1 << i;        // Better not be > 31!
    }
    }
Line 373... Line 377...
or1ksim_interrupt_clear (int i)
or1ksim_interrupt_clear (int i)
{
{
  if (config.pic.edge_trigger)
  if (config.pic.edge_trigger)
    {
    {
      fprintf (stderr, "Warning: or1ksim_interrupt_clear should not be used "
      fprintf (stderr, "Warning: or1ksim_interrupt_clear should not be used "
               "for level triggered interrupts. Ignored\n");
               "for edge triggered interrupts. Ignored\n");
    }
    }
  else
  else
    {
    {
      runtime.sim.ext_int_clr |= 1 << i;        // Better not be > 31!
      runtime.sim.ext_int_clr |= 1 << i;        // Better not be > 31!
    }
    }

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.