v3_cons_sc \
v3_stream \
v3_monitor \
- v3_hypercall
+ v3_hypercall \
+ v3_debug
#
# Examples
use_curses = 1;
if (argc < 2) {
- printf("Usage: ./v3_cons <vm_device>\n");
+ printf("usage: v3_cons <vm_device>\nThis will only work when run from a real PC console!\n");
return -1;
}
use_curses = 1;
if (argc < 2) {
- printf("Usage: ./v3_cons_sc <vm_device>\n");
+ printf("usage: v3_cons_sc <vm_device>\n");
return -1;
}
+++ /dev/null
-#!/usr/bin/perl -w
-
-if ($#ARGV!=0) {
- print "v3_console /dev/v3-vmXXX\n";
- print "Use '\\' to escape terminal\n\n";
- print "Use v3_cons if you are on a raw PC console\n";
- print "Use vncviewer if you are trying to connect to a v3_vncserver\n";
- exit;
-}
-
-
-$vm=shift;
-
-system "v3_cons_sc $vm 2>/dev/null";
-
if (argc <= 1) {
- printf("Usage: ./v3_stop <vm-dev>\n");
+ printf("usage: v3_continue <vm_device>\n");
return -1;
}
struct v3_core_move_cmd cmd;
if (argc < 4) {
- printf("Usage: v3_core_migrate <vm_device> <vcore id> <target physical CPU id>\n");
+ printf("usage: v3_core_move <vm_device> <vcore id> <target physical CPU id>\n");
return -1;
}
memset(&guest_img, 0, sizeof(struct v3_guest_img));
if (argc <= 2) {
- printf("Usage: ./v3_ctrl <guest_img> <vm name>\n");
+ printf("usage: v3_create <guest_img> <vm name>\n");
return -1;
}
memset(&guest_img, 0, sizeof(struct v3_guest_img));
if (argc <= 2) {
- printf("Usage: ./v3_ctrl <guest_img> <vm name>\n");
+ printf("usage: v3_ctrl <guest_img> <vm name>\n");
return -1;
}
struct v3_debug_cmd cmd;
if (argc < 4) {
- printf("Usage: v3_core_migrate <vm_device> <vm core> <cmd>\n");
+ printf("usage: v3_debug <vm_device> <vm core> <cmd>\n");
return -1;
}
static void usage (char* bin) {
- fprintf(stderr, "Usage: %s /dev/v3-vm<N> env-file inject-point-exe\n", bin);
+ fprintf(stderr, "usage: %s /dev/v3-vm<N> env-file inject-point-exe\n", bin);
}
int main (int argc, char **argv) {
if (argc <= 1) {
- printf("Usage: ./v3_free <vm-dev-idx>\n");
+ printf("usage: v3_free <vm-dev-idx>\n");
return -1;
}
int v3_fd = 0;
if (argc <= 3) {
- fprintf(stderr, "Usage: v3_inject_ecc_scrubber_mce <vm_device> <cpu> <hex address>\n");
+ fprintf(stderr, "usage: v3_inject_ecc_scrubber_mce <vm_device> <cpu> <hex address>\n");
return -1;
}
char * filename = argv[1];
if (argc <= 1) {
- printf("Usage: ./v3_launch <vm-device>\n");
+ printf("usage: v3_launch <vm-device>\n");
return -1;
}
char * vm_dev = NULL;
if (argc < 4) {
- printf("Usage: ./v3_load <vm_device> <store> <url>\n");
+ printf("usage: v3_load <vm_device> <store> <url>\n");
return -1;
}
int mem_ready = 0;
if (argc != 2) {
- printf("Usage: v3_mem <memory size (MB)>\n");
+ printf("usage: v3_mem <memory size (MB)>\n");
return -1;
}
char *stream;
if (argc <= 3) {
- printf("Usage: ./v3_cons vm_device stream_name\n");
+ printf("usage: v3_monitor <vm_device> <stream_name>\n");
return -1;
}
if (argc <= 1) {
- printf("Usage: ./v3_stop <vm-dev>\n");
+ printf("usage: v3_pause <vm_device>\n");
return -1;
}
char * vm_dev = NULL;
if (argc < 4) {
- printf("Usage: ./v3_save <vm_device> <store> <url>\n");
+ printf("usage: v3_save <vm_device> <store> <url>\n");
return -1;
}
if (argc <= 2) {
- printf("Usage: ./v3_simulate <vm-dev> <msecs>\n");
+ printf("usage: v3_simulate <vm-dev> <msecs>\n");
return -1;
}
char * filename = argv[1];
if (argc <= 1) {
- printf("Usage: ./v3_stop <vm-device>\n");
+ printf("usage: v3_stop <vm-device>\n");
return -1;
}
int stream_fd = 0;
if (argc < 2) {
- printf("Usage: ./v3_cons vm_device serial_number\n");
+ printf("usage: v3_stream <vm_device> <stream_name>\n");
return -1;
}
#define SYSCALL_MAX 256
static void usage () {
- fprintf(stderr, "\nUsage: v3_syscall <vm device> <syscall_nr> <on|off|status>\n");
+ fprintf(stderr, "\nusage: v3_syscall <vm device> <syscall_nr> <on|off|status>\n");
exit(0);
}
static void usage (char* bin) {
- fprintf(stderr, "Usage: %s /dev/v3-vm<N> <inject-code> <code-entry-offset> [inject-point-exe]\n", bin);
+ fprintf(stderr, "usage: %s /dev/v3-vm<N> <inject-code> <code-entry-offset> [inject-point-exe]\n", bin);
}
(*resp)->len=sizeof(struct palacios_user_keyed_stream_op);
(*resp)->type=req->type;
(*resp)->xfer=0;
- (*resp)->user_key=(void*)fd;
+ (*resp)->user_key=(void*)(uint64_t)fd;
(*resp)->buf_len=0;
return 0;
int fd;
int rc;
- fd = (int) (req->user_key);
+ fd = (int) (uint64_t) (req->user_key);
rc = close(fd);
(*resp)->len=sizeof(struct palacios_user_keyed_stream_op);
(*resp)->type=req->type;
(*resp)->xfer=rc;
- (*resp)->user_key=(void*)fd;
+ (*resp)->user_key=(void*)(uint64_t)fd;
(*resp)->buf_len=0;
return 0;
int fd;
int rc;
- fd = (int) (req->user_key);
+ fd = (int) (uint64_t) (req->user_key);
rc = write_all(fd,req->buf,req->xfer);
(*resp)->len=sizeof(struct palacios_user_keyed_stream_op);
(*resp)->type=req->type;
(*resp)->xfer=rc;
- (*resp)->user_key=(void*)fd;
+ (*resp)->user_key=(void*)(uint64_t)fd;
(*resp)->buf_len=0;
int fd;
int rc;
- fd = (int) (req->user_key);
+ fd = (int) (uint64_t) (req->user_key);
(*resp) = malloc(sizeof(struct palacios_user_keyed_stream_op)+req->xfer);
(*resp)->len=sizeof(struct palacios_user_keyed_stream_op) + (rc>0 ? rc : 0);
(*resp)->type=req->type;
(*resp)->xfer=rc;
- (*resp)->user_key=(void*)fd;
+ (*resp)->user_key=(void*)(uint64_t)fd;
(*resp)->buf_len=rc>0 ? rc : 0;