Helmut Karlowski a écrit :
Am 20.12.2009, 16:06 Uhr, schrieb Patrice Mandin
<mandin.patrice@orange.fr>:
According to documentation (Compendium for me), the work_in array must
be initialized like this:
work_in[0]=Getrez()+2;
for(i = 1; i < 10; i++)
work_in[i] = 1;
work_in[10] = 2;
Yes - my initialization is sloppy, but it should not lead to a bus-error.
I'll try with the correct one.
Also, the fact you open the physical workstation (instead of the
virtual one, with v_openvwk), could be the cause of your problem, if
the TOS as already opened it.
Someone has to open a physical workstation.
Hello
Yes AES need to do this
To open workstation you should do something like this:
unsigned long ctrl1 = 0, ctrl0 = 0;
if(Getrez()==0)
work_in[0] = 1; /* default value*/
else
{
work_in[0] = Getrez()+2;
if(Getrez()>=3 && get_cookie(COOKIE__MIL) &&
get_cookie(COOKIE__VDI)) work_in[0] = 7; /* Pb with Milan VDI! */
work_out[45] = my_aes_inside.vsetmode; /* very strange
but it work like this for extend resolutions !*/
}
ctrl0 = Ssystem(/*S_CTRLCACHE*/23, 0L, -1L);
ctrl1 = Ssystem(/*S_CTRLCACHE*/23, -1L, 0L);
Ssystem(/*S_CTRLCACHE*/23, sc & ~3, cm);
v_opnwk(&work_in[0], &my_aes_inside.phys_handle, &work_out[0]);
Ssystem(/*S_CTRLCACHE*/23, ctrl1, ctrl0);
OL