Compare commits

..

2 Commits

Author SHA1 Message Date
Nikolay Puzanov
536bde92df Allow to disable code sanitization 2022-12-04 11:29:25 +03:00
Nikolay Puzanov
b9cd29ad87 Fix Crtl-S hotkey 2022-12-04 11:29:10 +03:00
2 changed files with 10 additions and 6 deletions

View File

@ -160,7 +160,7 @@
document.addEventListener('keydown', (e) => {
if (e.key.toLowerCase() === 's' && e.ctrlKey) {
e.preventDefault();
save_code();
save_code('%SAVECODEURI%');
}
});

View File

@ -303,8 +303,8 @@
(with-output-to-file command-file
(lambda ()
(println "~a" verilog-file)
(println "~a" metatop-file)
(println "~a" verilog-file)
(println "+define+TESTBENCH")
(println "+timescale+1ps/1ps"))))
work-dir))
@ -504,7 +504,7 @@
;;;
(define (make-page-handler host root index-file
work-base stor-base
max-code-size
max-code-size sanitize
iverilog-wrap vvp-wrap
verilator-wrap verilator-sim-wrap verilator-build-jobs)
@ -629,7 +629,7 @@
(make-response
(exec-sim 'iverilog
(sanitize-verilog code)
(if sanitize (sanitize-verilog code) code)
work-base
TOP-MODULE
#:metatop iverilog-metatop
@ -646,7 +646,7 @@
(make-response
(exec-sim 'verilator
(sanitize-verilog code)
(if sanitize (sanitize-verilog code) code)
work-base
TOP-MODULE
#:verilator-wrap verilator-wrap
@ -716,6 +716,7 @@
(-> " --verilator-sim-wrap PATH Verilator simulation executable wrapper.")
(-> " --verilator-build-jobs N Verilator parallel build.")
(-> " --max-len LEN Set maximum code size in symbols. Default: 0 (infinite)")
(-> " --dont-sanitize Do not sanitize verilog code (dangerous)")
(-> " --work-base PATH Set work base path. Default: ./")
(-> " --stor-base PATH Set snippets storage path. Default: ./")
(-> " --log-level LEVEL Set log level from 0 (quiet) to 10 (verbose). Default: 1./")
@ -743,6 +744,7 @@
'(("verilator-sim-wrap") required)
'(("verilator-build-jobs") required)
'(("max-len") required)
'(("dont-sanitize") none)
'(("work-base") required)
'(("stor-base") required)
'(("log-level") required)
@ -758,6 +760,7 @@
(verilator-sim-wrap (string-trim-if-string (option-get opts "verilator-sim-wrap")))
(verilator-build-jobs (string->number (string-trim (or (option-get opts "verilator-build-jobs") "0"))))
(max-code-size (string->number (string-trim (or (option-get opts "max-len") "0"))))
(sanitize (not (option-get opts "dont-sanitize")))
(work-base (string-trim (or (option-get opts "work-base") "./")))
(stor-base (string-trim (or (option-get opts "stor-base") "./")))
(log-level (string->number (string-trim (or (option-get opts "log-level") "1")))))
@ -782,6 +785,7 @@
(logger LOG-INFO "verilator simulator wrapper: '~a'" verilator-sim-wrap)
(logger LOG-INFO "verilator build jobs: ~a" verilator-build-jobs)
(logger LOG-INFO "Max code size: ~a" max-code-size)
(logger LOG-INFO "Sanitize code: ~a" sanitize)
(logger LOG-INFO "Work base path: '~a'" work-base)
(logger LOG-INFO "Storage base path: '~a'" stor-base)
(logger LOG-INFO "Log level: '~a'" log-level)
@ -789,7 +793,7 @@
(run-server
(make-page-handler host root INDEX-FILE
work-base stor-base
max-code-size
max-code-size sanitize
iverilog-wrap vvp-wrap
verilator-wrap verilator-sim-wrap verilator-build-jobs)
'http `(#:host ,addr #:port ,port)))))))