diff --git a/.gitignore b/.gitignore index 70f4645f..9e930f61 100644 --- a/.gitignore +++ b/.gitignore @@ -13,4 +13,5 @@ images/ *.bin *.img *.fixture -*.fuse_hidden* \ No newline at end of file +*.fuse_hidden* +*.DS_Store \ No newline at end of file diff --git a/.travis-run-integration-acpi.sh b/.travis-run-integration-acpi.sh new file mode 100755 index 00000000..ec59b47a --- /dev/null +++ b/.travis-run-integration-acpi.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +set -e +mkdir -p images +(cd images && curl --compressed -OOOOOOOOOO https://copy.sh/v86/images/{linux.iso,linux3.iso,kolibri.img,windows101.img,os8.dsk,freedos722.img,openbsd.img,oberon.dsk,oberon-boot.dsk}) +make build/libv86.js useacpi=true +tests/full/run.js diff --git a/.travis.yml b/.travis.yml index 7cdef341..3da4270c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,6 +12,7 @@ script: env: - TEST_SUITE=unit - TEST_SUITE=integration + - TEST_SUITE=integration-acpi - TEST_SUITE=unit-qemu - TEST_SUITE=nasm matrix: diff --git a/Makefile b/Makefile index a224f2cb..d8f09a88 100644 --- a/Makefile +++ b/Makefile @@ -6,6 +6,11 @@ NASM_TEST_DIR=./tests/nasm all: build/v86_all.js browser: build/v86_all.js +ACPI=false +ifeq ($(useacpi),true) +ACPI=true +endif + # Used for nodejs builds and in order to profile code. # `debug` gives identifiers a readable name, make sure it doesn't have any side effects. CLOSURE_READABLE=--formatting PRETTY_PRINT --debug @@ -92,6 +97,7 @@ build/v86_all.js: $(CLOSURE) src/*.js src/browser/*.js lib/*.js java -jar $(CLOSURE) \ --js_output_file build/v86_all.js\ --define=DEBUG=false\ + --define=ENABLE_ACPI=$(ACPI)\ $(CLOSURE_SOURCE_MAP)\ $(CLOSURE_FLAGS)\ --compilation_level ADVANCED\ @@ -112,6 +118,7 @@ build/libv86.js: $(CLOSURE) src/*.js lib/*.js src/browser/*.js java -jar $(CLOSURE) \ --js_output_file build/libv86.js\ --define=DEBUG=false\ + --define=ENABLE_ACPI=$(ACPI)\ $(CLOSURE_FLAGS)\ --compilation_level SIMPLE\ $(TRANSPILE_ES6_FLAGS)\ diff --git a/src/config.js b/src/config.js index 599b34ed..6f0da33d 100644 --- a/src/config.js +++ b/src/config.js @@ -38,7 +38,10 @@ var DEBUG_SCREEN_LAYERS = DEBUG && false; /** @const */ var ENABLE_HPET = DEBUG && false; -/** @const */ +/** + * @define {boolean} + * Overridden by closure compiler + */ var ENABLE_ACPI = false;