diff options
author | Yang Zhang <yang.z.zhang@intel.com> | 2015-08-28 09:58:54 +0800 |
---|---|---|
committer | Yang Zhang <yang.z.zhang@intel.com> | 2015-09-01 12:44:00 +0800 |
commit | e44e3482bdb4d0ebde2d8b41830ac2cdb07948fb (patch) | |
tree | 66b09f592c55df2878107a468a91d21506104d3f /qemu/roms/openbios/libopenbios/clib.fs | |
parent | 9ca8dbcc65cfc63d6f5ef3312a33184e1d726e00 (diff) |
Add qemu 2.4.0
Change-Id: Ic99cbad4b61f8b127b7dc74d04576c0bcbaaf4f5
Signed-off-by: Yang Zhang <yang.z.zhang@intel.com>
Diffstat (limited to 'qemu/roms/openbios/libopenbios/clib.fs')
-rw-r--r-- | qemu/roms/openbios/libopenbios/clib.fs | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/qemu/roms/openbios/libopenbios/clib.fs b/qemu/roms/openbios/libopenbios/clib.fs new file mode 100644 index 000000000..04dd0aa43 --- /dev/null +++ b/qemu/roms/openbios/libopenbios/clib.fs @@ -0,0 +1,36 @@ +\ tag: C helpers +\ +\ Misc C helpers +\ +\ Copyright (C) 2003, 2004 Samuel Rydh +\ +\ See the file "COPYING" for further information about +\ the copyright and warranty status of this work. +\ + +\ should perhaps be moved somewhere else +: set-property ( buf len propname propname-len phandle -- ) + >r 2swap encode-bytes 2swap r> encode-property +; + +\ install C function +: is-cfunc ( funcaddr word word-len -- ) + $create , does> @ call +; + +\ install a nameless C function +: is-noname-cfunc ( funcaddr -- xt ) + 0 0 is-cfunc last-xt +; + +\ is-xt-cfunc installs a function which does the following: +\ - xt is executes +\ - funcarg is pushed +\ - funcaddr is called + +: is-xt-cfunc ( xt|0 funcarg funcaddr word word-len -- ) + is-func-begin + rot ?dup if , then + swap ['] (lit) , , ['] (lit) , , ['] call , + is-func-end +; |