ppb_msq.c (38061) | ppb_msq.c (39134) |
---|---|
1/*- 2 * Copyright (c) 1998 Nicolas Souchu 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 9 unchanged lines hidden (view full) --- 18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 * SUCH DAMAGE. 25 * | 1/*- 2 * Copyright (c) 1998 Nicolas Souchu 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 9 unchanged lines hidden (view full) --- 18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 * SUCH DAMAGE. 25 * |
26 * $Id: ppb_msq.c,v 1.1.2.4 1998/06/16 23:35:51 son Exp $ | 26 * $Id: ppb_msq.c,v 1.1.2.3 1998/06/14 14:36:26 son Exp $ |
27 * 28 */ 29#include <machine/stdarg.h> 30 31#include <sys/param.h> 32#include <sys/systm.h> 33#include <sys/kernel.h> 34 --- 175 unchanged lines hidden (view full) --- 210 211 /* properly cast the parameter */ 212 switch (type) { 213 case MS_TYP_INT: 214 msq[ins].arg[arg].i = va_arg(p_list, int); 215 break; 216 217 case MS_TYP_CHA: | 27 * 28 */ 29#include <machine/stdarg.h> 30 31#include <sys/param.h> 32#include <sys/systm.h> 33#include <sys/kernel.h> 34 --- 175 unchanged lines hidden (view full) --- 210 211 /* properly cast the parameter */ 212 switch (type) { 213 case MS_TYP_INT: 214 msq[ins].arg[arg].i = va_arg(p_list, int); 215 break; 216 217 case MS_TYP_CHA: |
218 msq[ins].arg[arg].c = va_arg(p_list, char); | 218 msq[ins].arg[arg].i = (int)va_arg(p_list, char); |
219 break; 220 221 case MS_TYP_PTR: 222 msq[ins].arg[arg].p = va_arg(p_list, void *); 223 break; 224 225 case MS_TYP_FUN: 226 msq[ins].arg[arg].f = va_arg(p_list, void *); --- 71 unchanged lines hidden (view full) --- 298 299 if (error) 300 goto error; 301 302 INCR_PC; 303 break; 304 305 case MS_OP_RET: | 219 break; 220 221 case MS_TYP_PTR: 222 msq[ins].arg[arg].p = va_arg(p_list, void *); 223 break; 224 225 case MS_TYP_FUN: 226 msq[ins].arg[arg].f = va_arg(p_list, void *); --- 71 unchanged lines hidden (view full) --- 298 299 if (error) 300 goto error; 301 302 INCR_PC; 303 break; 304 305 case MS_OP_RET: |
306 *ret = mi->arg[0].i; /* return code */ | 306 if (ret) 307 *ret = mi->arg[0].i; /* return code */ |
307 return (0); 308 break; 309 310 default: 311 /* executing microinstructions at ppc level is 312 * faster. This is the default if the microinstr 313 * is unknown here 314 */ 315 if ((error = ppb->ppb_link->adapter->exec_microseq( 316 dev->id_unit, msq, &pc))) 317 return (error); 318 319 break; 320 } 321 } 322error: | 308 return (0); 309 break; 310 311 default: 312 /* executing microinstructions at ppc level is 313 * faster. This is the default if the microinstr 314 * is unknown here 315 */ 316 if ((error = ppb->ppb_link->adapter->exec_microseq( 317 dev->id_unit, msq, &pc))) 318 return (error); 319 320 break; 321 } 322 } 323error: |
323 *ret = error; | 324 if (ret) 325 *ret = error; |
324 return (0); 325} 326 | 326 return (0); 327} 328 |