koffi 1.2.4 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -489
- package/benchmark/CMakeLists.txt +13 -9
- package/benchmark/raylib_node_raylib.js +67 -0
- package/build/qemu/1.3.1/koffi_darwin_arm64.tar.gz +0 -0
- package/build/qemu/1.3.1/koffi_darwin_x64.tar.gz +0 -0
- package/build/qemu/1.3.1/koffi_freebsd_arm64.tar.gz +0 -0
- package/build/qemu/1.3.1/koffi_freebsd_ia32.tar.gz +0 -0
- package/build/qemu/1.3.1/koffi_freebsd_x64.tar.gz +0 -0
- package/build/qemu/1.3.1/koffi_linux_arm32hf.tar.gz +0 -0
- package/build/qemu/1.3.1/koffi_linux_arm64.tar.gz +0 -0
- package/build/qemu/1.3.1/koffi_linux_ia32.tar.gz +0 -0
- package/build/qemu/1.3.1/koffi_linux_riscv64hf64.tar.gz +0 -0
- package/build/qemu/1.3.1/koffi_linux_x64.tar.gz +0 -0
- package/build/qemu/1.3.1/koffi_openbsd_ia32.tar.gz +0 -0
- package/build/qemu/1.3.1/koffi_openbsd_x64.tar.gz +0 -0
- package/build/qemu/1.3.1/koffi_win32_arm64.tar.gz +0 -0
- package/build/qemu/1.3.1/koffi_win32_ia32.tar.gz +0 -0
- package/build/qemu/1.3.1/koffi_win32_x64.tar.gz +0 -0
- package/doc/Makefile +20 -0
- package/doc/_static/bench_linux.png +0 -0
- package/doc/_static/bench_windows.png +0 -0
- package/doc/_static/custom.css +22 -0
- package/doc/benchmarks.md +113 -0
- package/doc/benchmarks.xlsx +0 -0
- package/doc/conf.py +54 -0
- package/doc/contribute.md +115 -0
- package/doc/dist/doctrees/benchmarks.doctree +0 -0
- package/doc/dist/doctrees/contribute.doctree +0 -0
- package/doc/dist/doctrees/environment.pickle +0 -0
- package/doc/dist/doctrees/functions.doctree +0 -0
- package/doc/dist/doctrees/index.doctree +0 -0
- package/doc/dist/doctrees/memory.doctree +0 -0
- package/doc/dist/doctrees/platforms.doctree +0 -0
- package/doc/dist/doctrees/start.doctree +0 -0
- package/doc/dist/doctrees/types.doctree +0 -0
- package/doc/dist/html/.buildinfo +4 -0
- package/doc/dist/html/_sources/benchmarks.md.txt +113 -0
- package/doc/dist/html/_sources/contribute.md.txt +115 -0
- package/doc/dist/html/_sources/functions.md.txt +224 -0
- package/doc/dist/html/_sources/index.rst.txt +33 -0
- package/doc/dist/html/_sources/memory.md.txt +29 -0
- package/doc/dist/html/_sources/platforms.md.txt +17 -0
- package/doc/dist/html/_sources/start.md.txt +89 -0
- package/doc/dist/html/_sources/types.md.txt +514 -0
- package/doc/dist/html/_static/_sphinx_javascript_frameworks_compat.js +134 -0
- package/doc/dist/html/_static/basic.css +932 -0
- package/doc/dist/html/_static/bench_linux.png +0 -0
- package/doc/dist/html/_static/bench_windows.png +0 -0
- package/doc/dist/html/_static/custom.css +22 -0
- package/doc/dist/html/_static/debug.css +69 -0
- package/doc/dist/html/_static/doctools.js +264 -0
- package/doc/dist/html/_static/documentation_options.js +14 -0
- package/doc/dist/html/_static/file.png +0 -0
- package/doc/dist/html/_static/jquery-3.6.0.js +10881 -0
- package/doc/dist/html/_static/jquery.js +2 -0
- package/doc/dist/html/_static/language_data.js +199 -0
- package/doc/dist/html/_static/minus.png +0 -0
- package/doc/dist/html/_static/plus.png +0 -0
- package/doc/dist/html/_static/pygments.css +252 -0
- package/doc/dist/html/_static/scripts/furo-extensions.js +0 -0
- package/doc/dist/html/_static/scripts/furo.js +3 -0
- package/doc/dist/html/_static/scripts/furo.js.LICENSE.txt +7 -0
- package/doc/dist/html/_static/scripts/furo.js.map +1 -0
- package/doc/dist/html/_static/searchtools.js +531 -0
- package/doc/dist/html/_static/skeleton.css +296 -0
- package/doc/dist/html/_static/styles/furo-extensions.css +2 -0
- package/doc/dist/html/_static/styles/furo-extensions.css.map +1 -0
- package/doc/dist/html/_static/styles/furo.css +2 -0
- package/doc/dist/html/_static/styles/furo.css.map +1 -0
- package/doc/dist/html/_static/underscore-1.13.1.js +2042 -0
- package/doc/dist/html/_static/underscore.js +6 -0
- package/doc/dist/html/benchmarks.html +547 -0
- package/doc/dist/html/contribute.html +382 -0
- package/doc/dist/html/functions.html +530 -0
- package/doc/dist/html/genindex.html +249 -0
- package/doc/dist/html/index.html +342 -0
- package/doc/dist/html/memory.html +337 -0
- package/doc/dist/html/objects.inv +0 -0
- package/doc/dist/html/platforms.html +332 -0
- package/doc/dist/html/search.html +257 -0
- package/doc/dist/html/searchindex.js +1 -0
- package/doc/dist/html/start.html +367 -0
- package/doc/dist/html/types.html +1001 -0
- package/doc/functions.md +224 -0
- package/doc/index.rst +33 -0
- package/doc/make.bat +35 -0
- package/doc/memory.md +29 -0
- package/doc/platforms.md +17 -0
- package/doc/start.md +89 -0
- package/doc/types.md +514 -0
- package/package.json +6 -3
- package/qemu/qemu.js +41 -27
- package/qemu/registry/machines.json +59 -79
- package/qemu/registry/sha256sum.txt +4 -4
- package/src/abi_arm32.cc +20 -48
- package/src/abi_arm64.cc +18 -46
- package/src/abi_arm64_fwd.S +5 -0
- package/src/abi_riscv64.cc +19 -47
- package/src/abi_x64_sysv.cc +18 -46
- package/src/abi_x64_win.cc +19 -47
- package/src/abi_x86.cc +21 -49
- package/src/call.cc +505 -242
- package/src/call.hh +14 -7
- package/src/ffi.cc +50 -27
- package/src/ffi.hh +1 -1
- package/src/parser.cc +2 -20
- package/src/util.cc +50 -11
- package/src/util.hh +2 -0
- package/test/misc.c +31 -0
- package/test/sync.js +41 -4
- package/benchmark/atoi_cc.cc +0 -59
- package/build/qemu/1.2.4/koffi_darwin_arm64.tar.gz +0 -0
- package/build/qemu/1.2.4/koffi_darwin_x64.tar.gz +0 -0
- package/build/qemu/1.2.4/koffi_freebsd_arm64.tar.gz +0 -0
- package/build/qemu/1.2.4/koffi_freebsd_ia32.tar.gz +0 -0
- package/build/qemu/1.2.4/koffi_freebsd_x64.tar.gz +0 -0
- package/build/qemu/1.2.4/koffi_linux_arm.tar.gz +0 -0
- package/build/qemu/1.2.4/koffi_linux_arm64.tar.gz +0 -0
- package/build/qemu/1.2.4/koffi_linux_ia32.tar.gz +0 -0
- package/build/qemu/1.2.4/koffi_linux_riscv64.tar.gz +0 -0
- package/build/qemu/1.2.4/koffi_linux_x64.tar.gz +0 -0
- package/build/qemu/1.2.4/koffi_openbsd_ia32.tar.gz +0 -0
- package/build/qemu/1.2.4/koffi_openbsd_x64.tar.gz +0 -0
- package/build/qemu/1.2.4/koffi_win32_arm64.tar.gz +0 -0
- package/build/qemu/1.2.4/koffi_win32_ia32.tar.gz +0 -0
- package/build/qemu/1.2.4/koffi_win32_x64.tar.gz +0 -0
package/qemu/qemu.js
CHANGED
|
@@ -123,13 +123,16 @@ async function main() {
|
|
|
123
123
|
machine.key = key;
|
|
124
124
|
machine.started = false;
|
|
125
125
|
|
|
126
|
-
machine.qemu
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
if (
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
126
|
+
if (machine.qemu != null) {
|
|
127
|
+
machine.qemu.accelerate = null;
|
|
128
|
+
|
|
129
|
+
if (accelerate && (machine.qemu.binary == 'qemu-system-x86_64' ||
|
|
130
|
+
machine.qemu.binary == 'qemu-system-i386')) {
|
|
131
|
+
if (process.platform == 'linux') {
|
|
132
|
+
machine.qemu.accelerate = 'kvm';
|
|
133
|
+
} else if (process.platform == 'win32') {
|
|
134
|
+
machine.qemu.accelerate = 'whpx';
|
|
135
|
+
}
|
|
133
136
|
}
|
|
134
137
|
}
|
|
135
138
|
}
|
|
@@ -222,6 +225,12 @@ async function start(detach = true) {
|
|
|
222
225
|
await Promise.all(machines.map(async machine => {
|
|
223
226
|
if (ignore.has(machine))
|
|
224
227
|
return;
|
|
228
|
+
if (machine.qemu == null) {
|
|
229
|
+
ignore.add(machine);
|
|
230
|
+
missing++;
|
|
231
|
+
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
225
234
|
|
|
226
235
|
let dirname = `qemu/${machine.key}`;
|
|
227
236
|
|
|
@@ -239,7 +248,7 @@ async function start(detach = true) {
|
|
|
239
248
|
let filename = dirname + '/VERSION';
|
|
240
249
|
let version = fs.existsSync(filename) ? parseInt(fs.readFileSync(filename).toString(), 10) : 0;
|
|
241
250
|
|
|
242
|
-
if (version != machine.
|
|
251
|
+
if (version != machine.qemu.version) {
|
|
243
252
|
log(machine, 'Download newer machine', chalk.bold.gray('[ignore]'));
|
|
244
253
|
|
|
245
254
|
ignore.add(machine);
|
|
@@ -286,13 +295,13 @@ async function pack() {
|
|
|
286
295
|
for (let suite in machine.builds) {
|
|
287
296
|
let build = machine.builds[suite];
|
|
288
297
|
|
|
289
|
-
let
|
|
290
|
-
let arch = build.arch || machine.info.arch;
|
|
291
|
-
|
|
292
|
-
let archive_filename = root_dir + `/koffi/build/qemu/${version}/koffi_${platform}_${arch}.tar.gz`;
|
|
298
|
+
let archive_filename = root_dir + `/koffi/build/qemu/${version}/koffi_${machine.platform}_${build.arch}.tar.gz`;
|
|
293
299
|
|
|
294
300
|
if (fs.existsSync(archive_filename)) {
|
|
295
301
|
log(machine, `${suite} > Status`, chalk.bold.green(`[ok]`));
|
|
302
|
+
} else if (machine.qemu == null) {
|
|
303
|
+
log(machine, `${suite} > Status`, chalk.bold.red(`[manual]`));
|
|
304
|
+
needed = true;
|
|
296
305
|
} else {
|
|
297
306
|
log(machine, `${suite} > Status`, chalk.bold.red(`[build]`));
|
|
298
307
|
needed = true;
|
|
@@ -369,11 +378,8 @@ async function pack() {
|
|
|
369
378
|
await Promise.all(Object.keys(machine.builds).map(async suite => {
|
|
370
379
|
let build = machine.builds[suite];
|
|
371
380
|
|
|
372
|
-
let platform = build.platform || machine.info.platform;
|
|
373
|
-
let arch = build.arch || machine.info.arch;
|
|
374
|
-
|
|
375
381
|
let src_dir = build.directory + '/koffi/build';
|
|
376
|
-
let dest_dir = build_dir + `/${version}/koffi_${platform}_${arch}`;
|
|
382
|
+
let dest_dir = build_dir + `/${version}/koffi_${machine.platform}_${build.arch}`;
|
|
377
383
|
let dest_filename = dest_dir + '.tar.gz';
|
|
378
384
|
|
|
379
385
|
unlink_recursive(dest_dir + '/build');
|
|
@@ -547,6 +553,8 @@ async function stop(all = true) {
|
|
|
547
553
|
await Promise.all(machines.map(async machine => {
|
|
548
554
|
if (ignore.has(machine))
|
|
549
555
|
return;
|
|
556
|
+
if (machine.qemu == null)
|
|
557
|
+
return;
|
|
550
558
|
if (!machine.started && !all)
|
|
551
559
|
return;
|
|
552
560
|
|
|
@@ -570,7 +578,7 @@ async function stop(all = true) {
|
|
|
570
578
|
machine.ssh.connection.on('end', resolve);
|
|
571
579
|
wait(60000).then(() => { reject(new Error('Timeout')) });
|
|
572
580
|
|
|
573
|
-
exec_remote(machine, machine.
|
|
581
|
+
exec_remote(machine, machine.qemu.shutdown);
|
|
574
582
|
});
|
|
575
583
|
|
|
576
584
|
log(machine, 'Stop', chalk.bold.green('[ok]'));
|
|
@@ -585,11 +593,14 @@ async function stop(all = true) {
|
|
|
585
593
|
|
|
586
594
|
async function info() {
|
|
587
595
|
for (let machine of machines) {
|
|
596
|
+
if (machine.qemu == null)
|
|
597
|
+
continue;
|
|
598
|
+
|
|
588
599
|
console.log(`>> ${machine.name} (${machine.key})`);
|
|
589
|
-
console.log(` - SSH port: ${machine.
|
|
590
|
-
console.log(` - VNC port: ${machine.
|
|
591
|
-
console.log(` - Username: ${machine.
|
|
592
|
-
console.log(` - Password: ${machine.
|
|
600
|
+
console.log(` - SSH port: ${machine.qemu.ssh_port}`);
|
|
601
|
+
console.log(` - VNC port: ${machine.qemu.vnc_port}`);
|
|
602
|
+
console.log(` - Username: ${machine.qemu.username}`);
|
|
603
|
+
console.log(` - Password: ${machine.qemu.password}`);
|
|
593
604
|
}
|
|
594
605
|
}
|
|
595
606
|
|
|
@@ -602,10 +613,10 @@ async function ssh() {
|
|
|
602
613
|
let machine = machines[0];
|
|
603
614
|
|
|
604
615
|
let args = [
|
|
605
|
-
'-p' + machine.
|
|
616
|
+
'-p' + machine.qemu.password,
|
|
606
617
|
'ssh', '-o', 'StrictHostKeyChecking=no',
|
|
607
618
|
'-o', 'UserKnownHostsFile=' + (process.platform == 'win32' ? '\\\\.\\NUL' : '/dev/null'),
|
|
608
|
-
'-p', machine.
|
|
619
|
+
'-p', machine.qemu.ssh_port, machine.qemu.username + '@127.0.0.1'
|
|
609
620
|
];
|
|
610
621
|
|
|
611
622
|
let proc = spawnSync('sshpass', args, { stdio: 'inherit' });
|
|
@@ -624,6 +635,9 @@ async function reset() {
|
|
|
624
635
|
|
|
625
636
|
console.log('>> Restoring snapshots...')
|
|
626
637
|
await Promise.all(machines.map(machine => {
|
|
638
|
+
if (machine.qemu == null)
|
|
639
|
+
return;
|
|
640
|
+
|
|
627
641
|
let dirname = `qemu/${machine.key}`;
|
|
628
642
|
let disk = dirname + '/disk.qcow2';
|
|
629
643
|
|
|
@@ -753,9 +767,9 @@ async function join(machine, tries) {
|
|
|
753
767
|
try {
|
|
754
768
|
await ssh.connect({
|
|
755
769
|
host: '127.0.0.1',
|
|
756
|
-
port: machine.
|
|
757
|
-
username: machine.
|
|
758
|
-
password: machine.
|
|
770
|
+
port: machine.qemu.ssh_port,
|
|
771
|
+
username: machine.qemu.username,
|
|
772
|
+
password: machine.qemu.password,
|
|
759
773
|
tryKeyboard: true
|
|
760
774
|
});
|
|
761
775
|
|
|
@@ -790,7 +804,7 @@ function log(machine, action, status) {
|
|
|
790
804
|
|
|
791
805
|
async function exec_remote(machine, cmd, cwd = null) {
|
|
792
806
|
try {
|
|
793
|
-
if (machine.
|
|
807
|
+
if (machine.platform == 'win32') {
|
|
794
808
|
if (cwd != null) {
|
|
795
809
|
cwd = cwd.replaceAll('/', '\\');
|
|
796
810
|
cmd = `cd "${cwd}" && ${cmd}`;
|
|
@@ -1,16 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"debian_arm32": {
|
|
3
3
|
"name": "Debian ARM32",
|
|
4
|
+
"platform": "linux",
|
|
4
5
|
|
|
5
6
|
"qemu": {
|
|
6
7
|
"binary": "qemu-system-arm",
|
|
7
|
-
"arguments": ["-M", "virt", "-cpu", "cortex-a15", "-m", "1G", "-smp", 2, "-kernel", "vmlinuz-5.10.0-12-armmp-lpae", "-initrd", "initrd.img-5.10.0-12-armmp-lpae", "-append", "root=/dev/vda2 apparmor=0", "-drive", "if=none,file=disk.qcow2,format=qcow2,id=hd", "-device", "virtio-blk-device,drive=hd", "-netdev", "user,id=mynet,hostfwd=tcp::22201-:22", "-device", "virtio-net-device,netdev=mynet", "-vnc", "127.0.0.1:11"]
|
|
8
|
-
},
|
|
9
|
-
|
|
10
|
-
"info": {
|
|
8
|
+
"arguments": ["-M", "virt", "-cpu", "cortex-a15", "-m", "1G", "-smp", 2, "-kernel", "vmlinuz-5.10.0-12-armmp-lpae", "-initrd", "initrd.img-5.10.0-12-armmp-lpae", "-append", "root=/dev/vda2 apparmor=0", "-drive", "if=none,file=disk.qcow2,format=qcow2,id=hd", "-device", "virtio-blk-device,drive=hd", "-netdev", "user,id=mynet,hostfwd=tcp::22201-:22", "-device", "virtio-net-device,netdev=mynet", "-vnc", "127.0.0.1:11"],
|
|
11
9
|
"version": 3,
|
|
12
|
-
"platform": "linux",
|
|
13
|
-
"arch": "arm",
|
|
14
10
|
|
|
15
11
|
"ssh_port": 22201,
|
|
16
12
|
"vnc_port": 5911,
|
|
@@ -23,6 +19,7 @@
|
|
|
23
19
|
|
|
24
20
|
"builds": {
|
|
25
21
|
"Linux ARM32": {
|
|
22
|
+
"arch": "arm32hf",
|
|
26
23
|
"directory": "/home/debian/luigi",
|
|
27
24
|
"build": "node ../cnoke/cnoke.js"
|
|
28
25
|
}
|
|
@@ -47,16 +44,12 @@
|
|
|
47
44
|
|
|
48
45
|
"debian_arm64": {
|
|
49
46
|
"name": "Debian ARM64",
|
|
47
|
+
"platform": "linux",
|
|
50
48
|
|
|
51
49
|
"qemu": {
|
|
52
50
|
"binary": "qemu-system-aarch64",
|
|
53
|
-
"arguments": ["-M", "virt", "-cpu", "cortex-a53", "-m", "1G", "-smp", 2, "-kernel", "vmlinuz-5.10.0-12-arm64", "-initrd", "initrd.img-5.10.0-12-arm64", "-append", "root=/dev/vda2 apparmor=0", "-drive", "if=none,file=disk.qcow2,format=qcow2,id=hd", "-device", "virtio-blk-device,drive=hd", "-netdev", "user,id=mynet,hostfwd=tcp::22202-:22", "-device", "virtio-net-device,netdev=mynet", "-vnc", "127.0.0.1:12"]
|
|
54
|
-
},
|
|
55
|
-
|
|
56
|
-
"info": {
|
|
51
|
+
"arguments": ["-M", "virt", "-cpu", "cortex-a53", "-m", "1G", "-smp", 2, "-kernel", "vmlinuz-5.10.0-12-arm64", "-initrd", "initrd.img-5.10.0-12-arm64", "-append", "root=/dev/vda2 apparmor=0", "-drive", "if=none,file=disk.qcow2,format=qcow2,id=hd", "-device", "virtio-blk-device,drive=hd", "-netdev", "user,id=mynet,hostfwd=tcp::22202-:22", "-device", "virtio-net-device,netdev=mynet", "-vnc", "127.0.0.1:12"],
|
|
57
52
|
"version": 3,
|
|
58
|
-
"platform": "linux",
|
|
59
|
-
"arch": "arm64",
|
|
60
53
|
|
|
61
54
|
"ssh_port": 22202,
|
|
62
55
|
"vnc_port": 5912,
|
|
@@ -69,6 +62,7 @@
|
|
|
69
62
|
|
|
70
63
|
"builds": {
|
|
71
64
|
"Linux ARM64": {
|
|
65
|
+
"arch": "arm64",
|
|
72
66
|
"directory": "/home/debian/luigi",
|
|
73
67
|
"build": "node ../cnoke/cnoke.js"
|
|
74
68
|
}
|
|
@@ -93,16 +87,12 @@
|
|
|
93
87
|
|
|
94
88
|
"debian_i386": {
|
|
95
89
|
"name": "Debian i386",
|
|
90
|
+
"platform": "linux",
|
|
96
91
|
|
|
97
92
|
"qemu": {
|
|
98
93
|
"binary": "qemu-system-i386",
|
|
99
|
-
"arguments": ["-cpu", "max", "-m", "1G", "-smp", 2, "-kernel", "vmlinuz-5.10.0-12-686-pae", "-initrd", "initrd.img-5.10.0-12-686-pae", "-append", "root=/dev/sda1 apparmor=0", "-hda", "disk.qcow2", "-netdev", "user,id=mynet,hostfwd=tcp::22203-:22", "-device", "e1000,netdev=mynet", "-vnc", "127.0.0.1:13"]
|
|
100
|
-
},
|
|
101
|
-
|
|
102
|
-
"info": {
|
|
94
|
+
"arguments": ["-cpu", "max", "-m", "1G", "-smp", 2, "-kernel", "vmlinuz-5.10.0-12-686-pae", "-initrd", "initrd.img-5.10.0-12-686-pae", "-append", "root=/dev/sda1 apparmor=0", "-hda", "disk.qcow2", "-netdev", "user,id=mynet,hostfwd=tcp::22203-:22", "-device", "e1000,netdev=mynet", "-vnc", "127.0.0.1:13"],
|
|
103
95
|
"version": 3,
|
|
104
|
-
"platform": "linux",
|
|
105
|
-
"arch": "ia32",
|
|
106
96
|
|
|
107
97
|
"ssh_port": 22203,
|
|
108
98
|
"vnc_port": 5913,
|
|
@@ -115,6 +105,7 @@
|
|
|
115
105
|
|
|
116
106
|
"builds": {
|
|
117
107
|
"Linux i386": {
|
|
108
|
+
"arch": "ia32",
|
|
118
109
|
"directory": "/home/debian/luigi",
|
|
119
110
|
"build": "node ../cnoke/cnoke.js"
|
|
120
111
|
}
|
|
@@ -139,16 +130,12 @@
|
|
|
139
130
|
|
|
140
131
|
"debian_x64": {
|
|
141
132
|
"name": "Debian x64",
|
|
133
|
+
"platform": "linux",
|
|
142
134
|
|
|
143
135
|
"qemu": {
|
|
144
136
|
"binary": "qemu-system-x86_64",
|
|
145
|
-
"arguments": ["-m", "1G", "-smp", 2, "-kernel", "vmlinuz-5.10.0-12-amd64", "-initrd", "initrd.img-5.10.0-12-amd64", "-append", "root=/dev/sda1 apparmor=0", "-hda", "disk.qcow2", "-netdev", "user,id=mynet,hostfwd=tcp::22204-:22", "-device", "e1000,netdev=mynet", "-vnc", "127.0.0.1:14"]
|
|
146
|
-
},
|
|
147
|
-
|
|
148
|
-
"info": {
|
|
137
|
+
"arguments": ["-m", "1G", "-smp", 2, "-kernel", "vmlinuz-5.10.0-12-amd64", "-initrd", "initrd.img-5.10.0-12-amd64", "-append", "root=/dev/sda1 apparmor=0", "-hda", "disk.qcow2", "-netdev", "user,id=mynet,hostfwd=tcp::22204-:22", "-device", "e1000,netdev=mynet", "-vnc", "127.0.0.1:14"],
|
|
149
138
|
"version": 3,
|
|
150
|
-
"platform": "linux",
|
|
151
|
-
"arch": "x64",
|
|
152
139
|
|
|
153
140
|
"ssh_port": 22204,
|
|
154
141
|
"vnc_port": 5914,
|
|
@@ -161,6 +148,7 @@
|
|
|
161
148
|
|
|
162
149
|
"builds": {
|
|
163
150
|
"Linux x64": {
|
|
151
|
+
"arch": "x64",
|
|
164
152
|
"directory": "/home/debian/luigi",
|
|
165
153
|
"build": "node ../cnoke/cnoke.js"
|
|
166
154
|
}
|
|
@@ -183,18 +171,14 @@
|
|
|
183
171
|
}
|
|
184
172
|
},
|
|
185
173
|
|
|
186
|
-
"
|
|
187
|
-
"name": "Windows",
|
|
174
|
+
"windows_x64": {
|
|
175
|
+
"name": "Windows x64",
|
|
176
|
+
"platform": "win32",
|
|
188
177
|
|
|
189
178
|
"qemu": {
|
|
190
179
|
"binary": "qemu-system-x86_64",
|
|
191
|
-
"arguments": ["-m", "3G", "-smp", 4, "-rtc", "clock=host,base=localtime", "-bios", "bios.bin", "-hda", "disk.qcow2", "-netdev", "user,id=mynet,hostfwd=tcp::22205-:22", "-device", "e1000,netdev=mynet", "-vga", "std", "-device", "qemu-xhci", "-device", "usb-tablet", "-vnc", "127.0.0.1:15"]
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
"info": {
|
|
195
|
-
"version": 7,
|
|
196
|
-
"platform": "win32",
|
|
197
|
-
"arch": "x64",
|
|
180
|
+
"arguments": ["-m", "3G", "-smp", 4, "-rtc", "clock=host,base=localtime", "-bios", "bios.bin", "-hda", "disk.qcow2", "-netdev", "user,id=mynet,hostfwd=tcp::22205-:22", "-device", "e1000,netdev=mynet", "-vga", "std", "-device", "qemu-xhci", "-device", "usb-tablet", "-vnc", "127.0.0.1:15"],
|
|
181
|
+
"version": 9,
|
|
198
182
|
|
|
199
183
|
"ssh_port": 22205,
|
|
200
184
|
"vnc_port": 5915,
|
|
@@ -208,20 +192,26 @@
|
|
|
208
192
|
"builds": {
|
|
209
193
|
"Windows i386": {
|
|
210
194
|
"arch": "ia32",
|
|
211
|
-
"directory": "C:/Users/windows/Desktop/
|
|
195
|
+
"directory": "C:/Users/windows/Desktop/luigi_ia32",
|
|
212
196
|
"build": "C:\\Node32\\node32.cmd node ../cnoke/cnoke.js"
|
|
213
197
|
},
|
|
214
198
|
|
|
215
199
|
"Windows x64": {
|
|
216
200
|
"arch": "x64",
|
|
217
|
-
"directory": "C:/Users/windows/Desktop/
|
|
201
|
+
"directory": "C:/Users/windows/Desktop/luigi_x64",
|
|
218
202
|
"build": "C:\\Node64\\node64.cmd node ../cnoke/cnoke.js"
|
|
203
|
+
},
|
|
204
|
+
|
|
205
|
+
"Windows ARM64": {
|
|
206
|
+
"arch": "arm64",
|
|
207
|
+
"directory": "C:/Users/windows/Desktop/luigi_arm64",
|
|
208
|
+
"build": "C:\\Node64\\node64.cmd node ../cnoke/cnoke.js --arch arm64 --version 16.13.0"
|
|
219
209
|
}
|
|
220
210
|
},
|
|
221
211
|
|
|
222
212
|
"tests": {
|
|
223
213
|
"Windows i386": {
|
|
224
|
-
"directory": "C:/Users/windows/Desktop/
|
|
214
|
+
"directory": "C:/Users/windows/Desktop/luigi_ia32",
|
|
225
215
|
"build": {
|
|
226
216
|
"Build": "C:\\Node32\\node32.cmd node ../cnoke/cnoke.js -C test"
|
|
227
217
|
},
|
|
@@ -235,7 +225,7 @@
|
|
|
235
225
|
},
|
|
236
226
|
|
|
237
227
|
"Windows x64": {
|
|
238
|
-
"directory": "C:/Users/windows/Desktop/
|
|
228
|
+
"directory": "C:/Users/windows/Desktop/luigi_x64",
|
|
239
229
|
"build": {
|
|
240
230
|
"Build": "C:\\Node64\\node64.cmd node ../cnoke/cnoke.js -C test"
|
|
241
231
|
},
|
|
@@ -252,16 +242,12 @@
|
|
|
252
242
|
|
|
253
243
|
"freebsd_x64": {
|
|
254
244
|
"name": "FreeBSD x64",
|
|
245
|
+
"platform": "freebsd",
|
|
255
246
|
|
|
256
247
|
"qemu": {
|
|
257
248
|
"binary": "qemu-system-x86_64",
|
|
258
|
-
"arguments": ["-m", "1G", "-smp", 2, "-hda", "disk.qcow2", "-netdev", "user,id=mynet,hostfwd=tcp::22206-:22", "-device", "e1000,netdev=mynet", "-vnc", "127.0.0.1:16"]
|
|
259
|
-
},
|
|
260
|
-
|
|
261
|
-
"info": {
|
|
249
|
+
"arguments": ["-m", "1G", "-smp", 2, "-hda", "disk.qcow2", "-netdev", "user,id=mynet,hostfwd=tcp::22206-:22", "-device", "e1000,netdev=mynet", "-vnc", "127.0.0.1:16"],
|
|
262
250
|
"version": 2,
|
|
263
|
-
"platform": "freebsd",
|
|
264
|
-
"arch": "x64",
|
|
265
251
|
|
|
266
252
|
"ssh_port": 22206,
|
|
267
253
|
"vnc_port": 5916,
|
|
@@ -274,6 +260,7 @@
|
|
|
274
260
|
|
|
275
261
|
"builds": {
|
|
276
262
|
"FreeBSD x64": {
|
|
263
|
+
"arch": "x64",
|
|
277
264
|
"directory": "/home/freebsd/luigi",
|
|
278
265
|
"build": "node ../cnoke/cnoke.js"
|
|
279
266
|
}
|
|
@@ -298,16 +285,12 @@
|
|
|
298
285
|
|
|
299
286
|
"freebsd_i386": {
|
|
300
287
|
"name": "FreeBSD i386",
|
|
288
|
+
"platform": "freebsd",
|
|
301
289
|
|
|
302
290
|
"qemu": {
|
|
303
291
|
"binary": "qemu-system-i386",
|
|
304
|
-
"arguments": ["-m", "1G", "-smp", 2, "-hda", "disk.qcow2", "-netdev", "user,id=mynet,hostfwd=tcp::22207-:22", "-device", "e1000,netdev=mynet", "-vnc", "127.0.0.1:17"]
|
|
305
|
-
},
|
|
306
|
-
|
|
307
|
-
"info": {
|
|
292
|
+
"arguments": ["-m", "1G", "-smp", 2, "-hda", "disk.qcow2", "-netdev", "user,id=mynet,hostfwd=tcp::22207-:22", "-device", "e1000,netdev=mynet", "-vnc", "127.0.0.1:17"],
|
|
308
293
|
"version": 2,
|
|
309
|
-
"platform": "freebsd",
|
|
310
|
-
"arch": "ia32",
|
|
311
294
|
|
|
312
295
|
"ssh_port": 22207,
|
|
313
296
|
"vnc_port": 5917,
|
|
@@ -320,6 +303,7 @@
|
|
|
320
303
|
|
|
321
304
|
"builds": {
|
|
322
305
|
"FreeBSD i386": {
|
|
306
|
+
"arch": "ia32",
|
|
323
307
|
"directory": "/home/freebsd/luigi",
|
|
324
308
|
"build": "node ../cnoke/cnoke.js"
|
|
325
309
|
}
|
|
@@ -344,16 +328,12 @@
|
|
|
344
328
|
|
|
345
329
|
"freebsd_arm64": {
|
|
346
330
|
"name": "FreeBSD ARM64",
|
|
331
|
+
"platform": "freebsd",
|
|
347
332
|
|
|
348
333
|
"qemu": {
|
|
349
334
|
"binary": "qemu-system-aarch64",
|
|
350
|
-
"arguments": ["-M", "virt", "-cpu", "cortex-a53", "-m", "1G", "-smp", 2, "-drive", "if=pflash,format=raw,file=QEMU_EFI.img", "-drive", "if=pflash,file=varstore.img", "-drive", "if=virtio,file=disk.qcow2,format=qcow2", "-netdev", "user,id=mynet,hostfwd=tcp::22208-:22", "-device", "virtio-net-device,netdev=mynet", "-vnc", "127.0.0.1:18"]
|
|
351
|
-
},
|
|
352
|
-
|
|
353
|
-
"info": {
|
|
335
|
+
"arguments": ["-M", "virt", "-cpu", "cortex-a53", "-m", "1G", "-smp", 2, "-drive", "if=pflash,format=raw,file=QEMU_EFI.img", "-drive", "if=pflash,file=varstore.img", "-drive", "if=virtio,file=disk.qcow2,format=qcow2", "-netdev", "user,id=mynet,hostfwd=tcp::22208-:22", "-device", "virtio-net-device,netdev=mynet", "-vnc", "127.0.0.1:18"],
|
|
354
336
|
"version": 2,
|
|
355
|
-
"platform": "freebsd",
|
|
356
|
-
"arch": "arm64",
|
|
357
337
|
|
|
358
338
|
"ssh_port": 22208,
|
|
359
339
|
"vnc_port": 5918,
|
|
@@ -366,6 +346,7 @@
|
|
|
366
346
|
|
|
367
347
|
"builds": {
|
|
368
348
|
"FreeBSD ARM64": {
|
|
349
|
+
"arch": "arm64",
|
|
369
350
|
"directory": "/home/freebsd/luigi",
|
|
370
351
|
"build": "node ../cnoke/cnoke.js"
|
|
371
352
|
}
|
|
@@ -390,16 +371,12 @@
|
|
|
390
371
|
|
|
391
372
|
"macos_x64": {
|
|
392
373
|
"name": "macOS x64",
|
|
374
|
+
"platform": "darwin",
|
|
393
375
|
|
|
394
376
|
"qemu": {
|
|
395
377
|
"binary": "qemu-system-x86_64",
|
|
396
|
-
"arguments": ["-m", "3G", "-machine", "q35", "-smp", 2, "-cpu", "Penryn,vendor=GenuineIntel,kvm=on,+sse3,+sse4.2,+aes,+xsave,+avx,+xsaveopt,+xsavec,+xgetbv1,+avx2,+bmi2,+smep,+bmi1,+fma,+movbe,+invtsc", "-device", "isa-applesmc,osk=ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc", "-smbios", "type=2", "-drive", "if=pflash,format=raw,readonly=on,file=OVMF_CODE.fd", "-drive", "if=pflash,format=raw,file=OVMF_VARS-1024x768.fd", "-vga", "qxl", "-device", "ich9-intel-hda", "-device", "hda-output", "-usb", "-device", "usb-kbd", "-device", "usb-tablet", "-netdev", "user,id=net0,hostfwd=tcp::22209-:22", "-device", "e1000-82545em,netdev=net0,id=net0,mac=52:54:00:c9:18:27", "-device", "ich9-ahci,id=sata", "-drive", "id=ESP,if=none,format=qcow2,file=ESP.qcow2", "-device", "ide-hd,bus=sata.2,drive=ESP", "-drive", "id=SystemDisk,if=none,file=macOS.qcow2", "-device", "ide-hd,bus=sata.4,drive=SystemDisk", "-vnc", "127.0.0.1:19"]
|
|
397
|
-
},
|
|
398
|
-
|
|
399
|
-
"info": {
|
|
378
|
+
"arguments": ["-m", "3G", "-machine", "q35", "-smp", 2, "-cpu", "Penryn,vendor=GenuineIntel,kvm=on,+sse3,+sse4.2,+aes,+xsave,+avx,+xsaveopt,+xsavec,+xgetbv1,+avx2,+bmi2,+smep,+bmi1,+fma,+movbe,+invtsc", "-device", "isa-applesmc,osk=ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc", "-smbios", "type=2", "-drive", "if=pflash,format=raw,readonly=on,file=OVMF_CODE.fd", "-drive", "if=pflash,format=raw,file=OVMF_VARS-1024x768.fd", "-vga", "qxl", "-device", "ich9-intel-hda", "-device", "hda-output", "-usb", "-device", "usb-kbd", "-device", "usb-tablet", "-netdev", "user,id=net0,hostfwd=tcp::22209-:22", "-device", "e1000-82545em,netdev=net0,id=net0,mac=52:54:00:c9:18:27", "-device", "ich9-ahci,id=sata", "-drive", "id=ESP,if=none,format=qcow2,file=ESP.qcow2", "-device", "ide-hd,bus=sata.2,drive=ESP", "-drive", "id=SystemDisk,if=none,file=macOS.qcow2", "-device", "ide-hd,bus=sata.4,drive=SystemDisk", "-vnc", "127.0.0.1:19"],
|
|
400
379
|
"version": 2,
|
|
401
|
-
"platform": "darwin",
|
|
402
|
-
"arch": "x64",
|
|
403
380
|
|
|
404
381
|
"ssh_port": 22209,
|
|
405
382
|
"vnc_port": 5919,
|
|
@@ -412,6 +389,7 @@
|
|
|
412
389
|
|
|
413
390
|
"builds": {
|
|
414
391
|
"macOS x64": {
|
|
392
|
+
"arch": "x64",
|
|
415
393
|
"directory": "/Users/macos/luigi",
|
|
416
394
|
"build": "PATH=/usr/local/bin:/usr/bin:/bin SDKROOT=/Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk node ../cnoke/cnoke.js"
|
|
417
395
|
}
|
|
@@ -435,16 +413,12 @@
|
|
|
435
413
|
|
|
436
414
|
"openbsd_x64": {
|
|
437
415
|
"name": "OpenBSD x64",
|
|
416
|
+
"platform": "openbsd",
|
|
438
417
|
|
|
439
418
|
"qemu": {
|
|
440
419
|
"binary": "qemu-system-x86_64",
|
|
441
|
-
"arguments": ["-m", "1G", "-smp", 2, "-hda", "disk.qcow2", "-netdev", "user,id=mynet,hostfwd=tcp::22210-:22", "-device", "e1000,netdev=mynet", "-vnc", "127.0.0.1:20"]
|
|
442
|
-
},
|
|
443
|
-
|
|
444
|
-
"info": {
|
|
420
|
+
"arguments": ["-m", "1G", "-smp", 2, "-hda", "disk.qcow2", "-netdev", "user,id=mynet,hostfwd=tcp::22210-:22", "-device", "e1000,netdev=mynet", "-vnc", "127.0.0.1:20"],
|
|
445
421
|
"version": 1,
|
|
446
|
-
"platform": "openbsd",
|
|
447
|
-
"arch": "x64",
|
|
448
422
|
|
|
449
423
|
"ssh_port": 22210,
|
|
450
424
|
"vnc_port": 5920,
|
|
@@ -457,6 +431,7 @@
|
|
|
457
431
|
|
|
458
432
|
"builds": {
|
|
459
433
|
"OpenBSD x64": {
|
|
434
|
+
"arch": "x64",
|
|
460
435
|
"directory": "/home/openbsd/luigi",
|
|
461
436
|
"build": "node ../cnoke/cnoke.js"
|
|
462
437
|
}
|
|
@@ -481,16 +456,12 @@
|
|
|
481
456
|
|
|
482
457
|
"openbsd_i386": {
|
|
483
458
|
"name": "OpenBSD i386",
|
|
459
|
+
"platform": "openbsd",
|
|
484
460
|
|
|
485
461
|
"qemu": {
|
|
486
462
|
"binary": "qemu-system-x86_64",
|
|
487
|
-
"arguments": ["-m", "1G", "-smp", 2, "-hda", "disk.qcow2", "-netdev", "user,id=mynet,hostfwd=tcp::22211-:22", "-device", "e1000,netdev=mynet", "-vnc", "127.0.0.1:21"]
|
|
488
|
-
},
|
|
489
|
-
|
|
490
|
-
"info": {
|
|
463
|
+
"arguments": ["-m", "1G", "-smp", 2, "-hda", "disk.qcow2", "-netdev", "user,id=mynet,hostfwd=tcp::22211-:22", "-device", "e1000,netdev=mynet", "-vnc", "127.0.0.1:21"],
|
|
491
464
|
"version": 1,
|
|
492
|
-
"platform": "openbsd",
|
|
493
|
-
"arch": "ia32",
|
|
494
465
|
|
|
495
466
|
"ssh_port": 22211,
|
|
496
467
|
"vnc_port": 5921,
|
|
@@ -503,6 +474,7 @@
|
|
|
503
474
|
|
|
504
475
|
"builds": {
|
|
505
476
|
"OpenBSD i386": {
|
|
477
|
+
"arch": "ia32",
|
|
506
478
|
"directory": "/home/openbsd/luigi",
|
|
507
479
|
"build": "node ../cnoke/cnoke.js"
|
|
508
480
|
}
|
|
@@ -527,16 +499,12 @@
|
|
|
527
499
|
|
|
528
500
|
"debian_riscv64": {
|
|
529
501
|
"name": "Debian RISC-V 64",
|
|
502
|
+
"platform": "linux",
|
|
530
503
|
|
|
531
504
|
"qemu": {
|
|
532
505
|
"binary": "qemu-system-riscv64",
|
|
533
|
-
"arguments": ["-machine", "virt", "-cpu", "rv64", "-m", "1G", "-smp", 2, "-device", "virtio-blk-device,drive=hd", "-drive", "file=disk.qcow2,if=none,id=hd", "-device", "virtio-net-device,netdev=net", "-netdev", "user,id=net,hostfwd=tcp::22212-:22", "-bios", "fw_jump.elf", "-kernel", "uboot.elf", "-append", "root=LABEL=rootfs console=ttyS0", "-vnc", "127.0.0.1:22"]
|
|
534
|
-
},
|
|
535
|
-
|
|
536
|
-
"info": {
|
|
506
|
+
"arguments": ["-machine", "virt", "-cpu", "rv64", "-m", "1G", "-smp", 2, "-device", "virtio-blk-device,drive=hd", "-drive", "file=disk.qcow2,if=none,id=hd", "-device", "virtio-net-device,netdev=net", "-netdev", "user,id=net,hostfwd=tcp::22212-:22", "-bios", "fw_jump.elf", "-kernel", "uboot.elf", "-append", "root=LABEL=rootfs console=ttyS0", "-vnc", "127.0.0.1:22"],
|
|
537
507
|
"version": 1,
|
|
538
|
-
"platform": "linux",
|
|
539
|
-
"arch": "riscv64",
|
|
540
508
|
|
|
541
509
|
"ssh_port": 22212,
|
|
542
510
|
"vnc_port": 5912,
|
|
@@ -549,6 +517,7 @@
|
|
|
549
517
|
|
|
550
518
|
"builds": {
|
|
551
519
|
"Linux RISC-V 64": {
|
|
520
|
+
"arch": "riscv64hf64",
|
|
552
521
|
"directory": "/home/debian/luigi",
|
|
553
522
|
"build": "node ../cnoke/cnoke.js"
|
|
554
523
|
}
|
|
@@ -569,5 +538,16 @@
|
|
|
569
538
|
}
|
|
570
539
|
}
|
|
571
540
|
}
|
|
541
|
+
},
|
|
542
|
+
|
|
543
|
+
"macos_arm64": {
|
|
544
|
+
"name": "macOS ARM64",
|
|
545
|
+
"platform": "darwin",
|
|
546
|
+
|
|
547
|
+
"builds": {
|
|
548
|
+
"macOS ARM64": {
|
|
549
|
+
"arch": "arm64"
|
|
550
|
+
}
|
|
551
|
+
}
|
|
572
552
|
}
|
|
573
553
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
f8c9a1638a3fc2cdd214f2cbcad6fee0e3b2c9383942bbd49b3915bb4c3da102 *qemu/
|
|
4
|
-
|
|
1
|
+
2e6d31a5983a91251bfae5aefa1c0a19d8ba3cf601d0e8a706b4cfa9661a6b8a *qemu/windows_x64/VERSION
|
|
2
|
+
0a40f87b2a038522e55318a0abde60403bb13a5e81a7a0966a9a736e65d4ae46 *qemu/windows_x64/install.sh
|
|
3
|
+
f8c9a1638a3fc2cdd214f2cbcad6fee0e3b2c9383942bbd49b3915bb4c3da102 *qemu/windows_x64/bios.bin
|
|
4
|
+
0b18ced5ee9e377a04fc2ad3282ce632b39870adbeb18afe30eae4a7c19b3a44 *qemu/windows_x64/disk.qcow2
|
|
5
5
|
1121cfccd5913f0a63fec40a6ffd44ea64f9dc135c66634ba001d10bcf4302a2 *qemu/debian_x64/VERSION
|
|
6
6
|
ba418d2d602981fe324ae7a1a608b0f2d8d7c6113d03a429cc402e24ddc81311 *qemu/debian_x64/vmlinuz-5.10.0-12-amd64
|
|
7
7
|
4d44622e8ce058017c08051d694b8e5afe9ff406b6ad91c17ebc4ec43d205c42 *qemu/debian_x64/install.sh
|