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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gdb-7.1/] [gdb/] [testsuite/] [gdb.cell/] [break.c] - Blame information for rev 855

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 227 jeremybenn
/* This testcase is part of GDB, the GNU debugger.
2
 
3
   Copyright 2009 Free Software Foundation, Inc.
4
 
5
   This program is free software; you can redistribute it and/or modify
6
   it under the terms of the GNU General Public License as published by
7
   the Free Software Foundation; either version 3 of the License, or
8
   (at your option) any later version.
9
 
10
   This program is distributed in the hope that it will be useful,
11
   but WITHOUT ANY WARRANTY; without even the implied warranty of
12
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
   GNU General Public License for more details.
14
 
15
   You should have received a copy of the GNU General Public License
16
   along with this program.  If not, see <http://www.gnu.org/licenses/>.
17
 
18
   Contributed by Markus Deuling <deuling@de.ibm.com>  */
19
 
20
#include <stdio.h>
21
#include <libspe2.h>
22
#include <pthread.h>
23
#include <sys/wait.h>
24
 
25
extern spe_program_handle_t break_spu;
26
#define nr_t 5
27
 
28
void *
29
spe_thread (void * arg)
30
{
31
  int flags = 0;
32
  unsigned int entry = SPE_DEFAULT_ENTRY;
33
  spe_context_ptr_t *ctx = (spe_context_ptr_t *) arg;
34
 
35
  spe_program_load (*ctx, &break_spu);
36
  spe_context_run (*ctx, &entry, flags, NULL, NULL, NULL);
37
 
38
  pthread_exit (NULL);
39
}
40
 
41
int
42
main (void)
43
{
44
  int thread_id[nr_t];
45
  pthread_t pts[nr_t];
46
  spe_context_ptr_t ctx[nr_t];
47
  int value = 1;
48
  int cnt;
49
 
50
  for (cnt = 0; cnt < nr_t; cnt++)
51
    {
52
      ctx[cnt] = spe_context_create (0, NULL);
53
      thread_id[cnt]
54
        = pthread_create (&pts[cnt], NULL, &spe_thread, &ctx[cnt]);
55
    }
56
 
57
  for (cnt = 0; cnt < nr_t; cnt++)
58
    pthread_join (pts[cnt], NULL);
59
 
60
  for (cnt = 0; cnt < nr_t; cnt++)
61
    spe_context_destroy (ctx[cnt]);
62
 
63
  return 0;
64
}
65
 
66
void
67
foo ()
68
{
69
  printf ("foo in break\n");
70
  return;
71
}

powered by: WebSVN 2.1.0

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