fix the OP_SETTABUP dump

use print_RKC to dump assignment value of OP_SETTABUP.

Signed-off-by: Jovi Zhangwei <jovi.zhangwei@gmail.com>
change ktap_number to "long"

Since we are going to use 64 bit data in script,
repesent ip value or memory pointer, so "int" as
number is not enought for 64 bit data operation,
change ktap_number to "long" now.

There would not bring any performance issue.

There have one issue about read wrong 64 bit value
in compiler, use strtol to fix the issue.

All testcase are passed with this change.

The origin issue was reported by Qingping.

Reported-by: Qingping Hou <qingping.hou@gmail.com>
Signed-off-by: Jovi Zhangwei <jovi.zhangwei@gmail.com>
dump settable instruction

Signed-off-by: Qingping Hou <qingping.hou@gmail.com>
add testcase for 64-bit arith operation

Since we are already changed ktap_number to long,
so check the 64-bit arith operation correctness
in testcase.

Note, it's only work for 64-bit system, not 32-bit.

Signed-off-by: Jovi Zhangwei <jovi.zhangwei@gmail.com>
rename test/arith.kp to test/arithmetic.kp

Signed-off-by: Jovi Zhangwei <jovi.zhangwei@gmail.com>
change n field of _ktap_value to "ktap_number" type

Since we already change "ktap_number" type to "long",
so change n field of _ktap_value to "ktap_number" type,
this will avoid type mismatch in future.

Signed-off-by: Jovi Zhangwei <jovi.zhangwei@gmail.com>
make userspace object file complation depend on include/*

userspace source file include some header file in include/
directory, so enable this dependence rule in Makefile

Signed-off-by: Jovi Zhangwei <jovi.zhangwei@gmail.com>
some minor cleanup on include/ktap_types.h

remove some unused structure fields.

Signed-off-by: Jovi Zhangwei <jovi.zhangwei@gmail.com>
remove redundant macro ttisnil

Use isnil instead.

Signed-off-by: Jovi Zhangwei <jovi.zhangwei@gmail.com>
minor cleanup ktap_assert macro

Signed-off-by: Jovi Zhangwei <jovi.zhangwei@gmail.com>
generate ktap number by strtoul in compiler

Since it's common to use 0xffffffffffffffff 64-bit number
in ktap, so we must use strtoul instead strtol to convert
number string correctly, otherwise the largest number only
is 0x7fffffffffffffff.

ktap_number type is long, so 0xffffffffffffffff is -1
in ktapvm, user need to care on this overflow issue
if user want to use arithmetic operation on this kind
of big number, but use 0xff.. to represent memory pointer
have no problem.

Testcase also updated.

Signed-off-by: Jovi Zhangwei <jovi.zhangwei@gmail.com>
add kernel_string(addr) built-in function

kernel_string built-in function is purpose for
access kernel string.

One example to use this kernel_string(tested in x86-64):

trace probe:do_execve filename=%di {
	printf("[do_execve entry]: (%s) name=%s\n",
		execname(), kernel_string(arg2))
}

Result:

[do_execve entry]: (bash) name=/usr/bin/cat
[do_execve entry]: (bash) name=/usr/bin/ls
[do_execve entry]: (bash) name=/usr/bin/top
...

Signed-off-by: Tadaki SAKAI <stadaki.dev@gmail.com>
Signed-off-by: Jovi Zhangwei <jovi.zhangwei@gmail.com>
 (Jovi: use kp_tstring_new_local instead of kp_tstring_new)
fix color block process of tetris script

removed that convert color number to text.
it was useless.

Signed-off-by: Tadaki SAKAI <stadaki.dev@gmail.com>