[OpenBIOS] SOLVED: the mystery of Solaris on SPARC32 and the missing Forth arguments

Andreas Färber andreas.faerber at web.de
Sun Oct 24 16:57:44 CEST 2010


Am 24.10.2010 um 03:24 schrieb Mark Cave-Ayland:

> Index: arch/sparc32/romvec.c
> ===================================================================
> --- arch/sparc32/romvec.c	(revision 915)
> +++ arch/sparc32/romvec.c	(working copy)

> @@ -219,36 +211,43 @@
> }
>
> static const struct linux_nodeops nodeops0 = {
> -    obp_nextnode,	/* int (*no_nextnode)(int node); */
> -    obp_child,	        /* int (*no_child)(int node); */
> -    obp_proplen,	/* int (*no_proplen)(int node, char *name); */
> -    obp_getprop,	/* int (*no_getprop)(int node,char *name,char  
> *val); */
> -    obp_setprop,	/* int (*no_setprop)(int node, char *name,
> -                           char *val, int len); */
> -    obp_nextprop	/* char * (*no_nextprop)(int node, char *name); */
> +    obp_nextnode_handler,	/* int (*no_nextnode)(int node); */
> +    obp_child_handler,	        /* int (*no_child)(int node); */
> +    obp_proplen_handler,	/* int (*no_proplen)(int node, char  
> *name); */
> +    obp_getprop_handler,	/* int (*no_getprop)(int node,char  
> *name,char *val); */
> +    obp_setprop_handler,	/* int (*no_setprop)(int node, char *name,
> +                   	        char *val, int len); */
> +    obp_nextprop_handler	/* char * (*no_nextprop)(int node, char  
> *name); */
> };
>
> -static int obp_nbgetchar(void)
> +int obp_nbgetchar(void)
> {
>     return getchar();
> }
>
> -static int obp_nbputchar(int ch)
> +int obp_nbputchar(int ch)
> {
>     putchar(ch);
>
>     return 0;
> }
>
> -static void obp_reboot(char *str)
> +void obp_putstr(char *str, int len)
> {
> +    PUSH((ucell)str);

PUSH(pointer2cell(str));

> @@ -449,11 +448,16 @@
>   DPRINTF("obp_fortheval_v2(%s)\n", str);
>   push_str(str);
>   fword("eval");
> +
> }

Whitespace intentional?

Andreas



More information about the OpenBIOS mailing list