Commit Graph

13965 Commits

Author SHA1 Message Date
Joe Bryan
5726f08da8 u3: simplifies road stack adjustment after snapshot load 2022-12-09 23:41:45 -05:00
Joe Bryan
f5fdaa2781 u3: automatically place the guard page in u3e_live() 2022-12-09 23:41:45 -05:00
Joe Bryan
39d0250afa u3: move directory creation out of events.c 2022-12-09 23:41:42 -05:00
Joe Bryan
bceb9cde4a u3: stop using u3P.dir_c outside of events.c 2022-12-09 23:41:42 -05:00
Joe Bryan
4620212260 u3: removes u3e_foul() 2022-12-09 23:41:38 -05:00
Joe Bryan
1ac2264a49 test: renames nock-tests to meme-tests 2022-12-02 22:58:07 -05:00
Joe Bryan
7870024df9 test: re-disables failing grq test 2022-12-02 16:56:00 -05:00
Joe Bryan
95a2e06f44 test: re-disables ames decryption test to avoid bail:evil in ci 2022-12-02 16:55:08 -05:00
Joe Bryan
15c4ae7fa7 u3: updates guard-page assertion to account for variable loom sizes 2022-12-02 16:54:27 -05:00
Joe Bryan
5693c965dc u3: protect guard page if necessary after reprotecting loom 2022-12-02 16:39:18 -05:00
Joe Bryan
66c54ad392 u3: protect guard page if necessary after remapping loom 2022-12-02 16:34:34 -05:00
Joe Bryan
e981901b69 Merge branch 'jb/restage/demand' into jb/release/vere 2022-12-02 16:16:33 -05:00
Joe Bryan
ff81dbc62b
Merge pull request #6125 from urbit/jb/ward-safely
u3: ensure a single guard page
2022-12-02 16:13:52 -05:00
Joe Bryan
331c20bb9b
Merge pull request #6121 from urbit/ja/openbsd-7.2-fix
vere: updates whereami dep to support OpenBSD
2022-12-02 16:11:38 -05:00
Joe Bryan
9d34ff6fba
Merge pull request #6108 from urbit/philip/willoc-comment
u3: add comment explaining willoc logic
2022-12-02 15:08:57 -05:00
Joe Bryan
62a575f63e u3: switch page size constants to macros to avoid VLAs 2022-12-02 11:55:30 -05:00
Joe Bryan
a7022e75a0 u3: enforce snapshot invariants on segment truncation 2022-12-02 10:27:38 -05:00
Joe Bryan
c111129a5e u3: adds new, batch page tracking implementations + tests 2022-12-02 10:27:35 -05:00
Joe Bryan
d1d1860ac7 u3: cleanup comments about snapshot system limitations 2022-12-02 10:27:32 -05:00
Joe Bryan
fee50375c9 u3: document snapshot system invariants 2022-12-02 10:27:29 -05:00
James Acklin
775e3715ba vere: updates whereami dep to support OpenBSD
fixes urbit/urbit#6100
2022-12-02 08:38:21 -05:00
Joe Bryan
7ca9ebaa4d u3: updates memory protections and page metadata when moving guard page 2022-11-30 18:24:21 -05:00
Philip Monk
a90c85023c u3: add comment explaining willoc logic 2022-11-28 16:49:07 -07:00
Joe Bryan
ea6f239811 Merge tag 'urbit-v1.13' into jb/restage/demand
urbit-v1.13

Arvo 417K
Vere 1.13

This release makes the loom variably sized, up to a new maximum of 4GB.
The default remains 2GB -- opt for the max with `--loom 32`.
(NB: larger sizes may require adding swap space.)

Release Notes

- supports setting the loom size on startup. sizes are specified in
  exponents of 2, from 1MB (20) to 4GB (32); can differ between processes
  (`--loom` and `--urth-loom`); and can be set for relevant subcommands
  (`meld`, `pack`, `next`, &c).

- improves bit-slice performance (for noun de/serialization and many atom jets)
  by ensuring that implementation inner loops can be vectorized.

- adds the `vile` command, for exporting the keyfile from a ship

- adds the `%xray` hint, for printing the bytecode of a given expression
  (ty ~topfet-parmed!)

- adds the `eval` command, for running hoon (from stdin) without booting a ship
  (ty ~mopfel-winrux!)

- adds a better error message when a ship is already running as root
  (ty ~dinleb-rambep!)

Contributions:

Joe Bryan (48):
      u3: use size_t in u3m_init()
      u3: normalize home-road stack after snapshot restoration
      u3: refactors custom allocator init for libraries
      bump
      vere: make `prep` and `next` commands non-interactive (no tty required)
      Merge pull request #5928 from urbit/jb/upgrade-no-tty
      u3: remove references to u3a_bits/u3a_bytes/words/pages
      u3: makes loom length configurable
      u3: improves image-related error messages in events
      Merge branch 'master' into next/vere
      u3: suppress bail:evil printf
      Merge pull request #5959 from urbit/jb/silence-evil
      ur: optimizes bitstream bytes-writer implementation
      ur: optimizes bitstream bytes-reader implementation
      Revert "test: move _test_lily into noun_tests"
      u3: rewrites u3r_chop(), optimizing bloq sizes < 5
      u3: removes loom byte-length in favor of recalculation
      Merge pull request #5957 from mopfel-winrux/eval
      vere: style clean for eval cmd
      Merge branch 'jb/hotfix' into jb/fix
      Merge branch 'jb/hotfix' into jb/fix
      Merge branch 'jb/hotfix' into jb/fix
      Merge branch 'jb/hotfix' into jb/fix
      Merge branch 'jb/hotfix' into jb/fix
      Merge tag 'urbit-v1.12' into jb/fix
      Merge commit 'f94875f9ce^2' into jb/release/vere
      Merge commit '264e63330f^2' into jb/release/vere
      u3: backports u3v_soft_peek()
      vere: adds %vile command for extracting keys
      Merge commit '330db284e8^2' into jb/release/vere
      Merge branch 'master' into jb/release/vere
      test: bump loom to 16MB in jam tests
      u3: restages #6001 for release
      u3: adds loom size to u3m_boot() / u3m_boot_lite()
      vere: adds args to set mars/urth looms by binary exponent
      Merge branch 'jb/restage/loom-set' into jb/release/vere
      vere: supports --loom for all relevant subcommands
      Merge branch 'jb/loom-everywhere' into jb/release/vere
      Merge branch 'jb/release/vere' into jb/restage/chop-fast
      u3: bumps maximum reference bits on all platforms
      vere: preserve 2GB defaults for --loom and --loom-urth
      Merge branch 'jb/restage/chop-fast' into jb/release/vere
      Merge branch 'jb/restage/bump' into jb/release/vere
      Merge branch 'jb/fix' into jb/release/vere
      vere: bumps version
      vere: bumps benchmarks to 16MB loom, initializes guard page
      vere: supports --loom in eval cmd
      vere: bumps version

DaneBettis (22):
      Adds %meme and %xray hints.
      adds xray test, reorders tests, fixes sanity checks
      more notes and debugging for xray
      more xray debugs via ~master-morzod
      more xray debugs thanks to ~master-morzod
      partial fix for indexed bytecode args; more to come
      silenced the broken hoon tests
      cleaner expression and docs
      added macro to clarify _slog_bytecode and cleaned hoon hint tests
      first cleanup from meeting with master-morzod
      this branch PR is now for xray only. meme later.
      minimize the diff
      taming int declarations
      docs, tammed ints, better var names, removed redundant funcs
      fixes suggested by master-morzod, and finished int taming
      make _is_indexed() more obvious and less cute
      remove dev-time modifications to manage.c
      WIP stuff re master-morzod
      more refactoring as suggested by master-morzod
      corrected private function names and block comments
      fixed names of vars to follow cvc_TypeLetter style
      simplified xray callsites and rendering

mopfel-winrux (15):
      Added option to run the eval it checks for and prints whatever you pass it as an arguement
      Added basic nock increment evaulation to eval function
      Got basic hoon command compiling and executing
      Fixed a double boot_lite
      Added vase and stack trace wrapper to input, run hoo in virutalization
      added ability to read from stdin rather than being passed an arguement
      changed up how we are executing hoon. This fixes the issue we see with rpevious versions
      cleaned up code
      merged to master fixed conflict in motes.h
      fixed a few of the issues ~master-morzod pointed out
      changed error messages when booting the ivory pill
      changed how the stdin is concatenated. this version should have less memory leaks
      fixed memory leak and cleaned up style
      removed unneeded checks
      Merge branch 'urbit:master' into eval

pkova (1):
      vere: check for permission error on old process kill
2022-11-23 11:24:49 -05:00
Joe Bryan
2e57625e26 Merge tag 'urbit-v1.13' into jb/restage/pread-all
urbit-v1.13

Arvo 417K
Vere 1.13

This release makes the loom variably sized, up to a new maximum of 4GB.
The default remains 2GB -- opt for the max with `--loom 32`.
(NB: larger sizes may require adding swap space.)

Release Notes

- supports setting the loom size on startup. sizes are specified in
  exponents of 2, from 1MB (20) to 4GB (32); can differ between processes
  (`--loom` and `--urth-loom`); and can be set for relevant subcommands
  (`meld`, `pack`, `next`, &c).

- improves bit-slice performance (for noun de/serialization and many atom jets)
  by ensuring that implementation inner loops can be vectorized.

- adds the `vile` command, for exporting the keyfile from a ship

- adds the `%xray` hint, for printing the bytecode of a given expression
  (ty ~topfet-parmed!)

- adds the `eval` command, for running hoon (from stdin) without booting a ship
  (ty ~mopfel-winrux!)

- adds a better error message when a ship is already running as root
  (ty ~dinleb-rambep!)

Contributions:

Joe Bryan (48):
      u3: use size_t in u3m_init()
      u3: normalize home-road stack after snapshot restoration
      u3: refactors custom allocator init for libraries
      bump
      vere: make `prep` and `next` commands non-interactive (no tty required)
      Merge pull request #5928 from urbit/jb/upgrade-no-tty
      u3: remove references to u3a_bits/u3a_bytes/words/pages
      u3: makes loom length configurable
      u3: improves image-related error messages in events
      Merge branch 'master' into next/vere
      u3: suppress bail:evil printf
      Merge pull request #5959 from urbit/jb/silence-evil
      ur: optimizes bitstream bytes-writer implementation
      ur: optimizes bitstream bytes-reader implementation
      Revert "test: move _test_lily into noun_tests"
      u3: rewrites u3r_chop(), optimizing bloq sizes < 5
      u3: removes loom byte-length in favor of recalculation
      Merge pull request #5957 from mopfel-winrux/eval
      vere: style clean for eval cmd
      Merge branch 'jb/hotfix' into jb/fix
      Merge branch 'jb/hotfix' into jb/fix
      Merge branch 'jb/hotfix' into jb/fix
      Merge branch 'jb/hotfix' into jb/fix
      Merge branch 'jb/hotfix' into jb/fix
      Merge tag 'urbit-v1.12' into jb/fix
      Merge commit 'f94875f9ce^2' into jb/release/vere
      Merge commit '264e63330f^2' into jb/release/vere
      u3: backports u3v_soft_peek()
      vere: adds %vile command for extracting keys
      Merge commit '330db284e8^2' into jb/release/vere
      Merge branch 'master' into jb/release/vere
      test: bump loom to 16MB in jam tests
      u3: restages #6001 for release
      u3: adds loom size to u3m_boot() / u3m_boot_lite()
      vere: adds args to set mars/urth looms by binary exponent
      Merge branch 'jb/restage/loom-set' into jb/release/vere
      vere: supports --loom for all relevant subcommands
      Merge branch 'jb/loom-everywhere' into jb/release/vere
      Merge branch 'jb/release/vere' into jb/restage/chop-fast
      u3: bumps maximum reference bits on all platforms
      vere: preserve 2GB defaults for --loom and --loom-urth
      Merge branch 'jb/restage/chop-fast' into jb/release/vere
      Merge branch 'jb/restage/bump' into jb/release/vere
      Merge branch 'jb/fix' into jb/release/vere
      vere: bumps version
      vere: bumps benchmarks to 16MB loom, initializes guard page
      vere: supports --loom in eval cmd
      vere: bumps version

DaneBettis (22):
      Adds %meme and %xray hints.
      adds xray test, reorders tests, fixes sanity checks
      more notes and debugging for xray
      more xray debugs via ~master-morzod
      more xray debugs thanks to ~master-morzod
      partial fix for indexed bytecode args; more to come
      silenced the broken hoon tests
      cleaner expression and docs
      added macro to clarify _slog_bytecode and cleaned hoon hint tests
      first cleanup from meeting with master-morzod
      this branch PR is now for xray only. meme later.
      minimize the diff
      taming int declarations
      docs, tammed ints, better var names, removed redundant funcs
      fixes suggested by master-morzod, and finished int taming
      make _is_indexed() more obvious and less cute
      remove dev-time modifications to manage.c
      WIP stuff re master-morzod
      more refactoring as suggested by master-morzod
      corrected private function names and block comments
      fixed names of vars to follow cvc_TypeLetter style
      simplified xray callsites and rendering

mopfel-winrux (15):
      Added option to run the eval it checks for and prints whatever you pass it as an arguement
      Added basic nock increment evaulation to eval function
      Got basic hoon command compiling and executing
      Fixed a double boot_lite
      Added vase and stack trace wrapper to input, run hoo in virutalization
      added ability to read from stdin rather than being passed an arguement
      changed up how we are executing hoon. This fixes the issue we see with rpevious versions
      cleaned up code
      merged to master fixed conflict in motes.h
      fixed a few of the issues ~master-morzod pointed out
      changed error messages when booting the ivory pill
      changed how the stdin is concatenated. this version should have less memory leaks
      fixed memory leak and cleaned up style
      removed unneeded checks
      Merge branch 'urbit:master' into eval

pkova (1):
      vere: check for permission error on old process kill
2022-11-23 11:24:27 -05:00
Joe Bryan
dac240bdfa vere: bumps version 2022-11-23 10:38:02 -05:00
Joe Bryan
2e861dafcf vere: supports --loom in eval cmd 2022-11-22 15:38:15 -05:00
Joe Bryan
670ebc8f8c vere: bumps benchmarks to 16MB loom, initializes guard page 2022-11-22 15:23:29 -05:00
Joe Bryan
6c4b102815 vere: supports --no-demand for all relevant subcommands 2022-11-18 18:38:09 -05:00
Joe Bryan
f40db733ba vere: bumps version 2022-11-18 17:44:46 -05:00
Joe Bryan
efd49ed338 Merge branch 'jb/restage/bump' into jb/release/vere 2022-11-18 17:43:57 -05:00
Joe Bryan
320740c5b9 vere: preserve 2GB defaults for --loom and --loom-urth 2022-11-18 17:41:54 -05:00
Joe Bryan
fd7e84e26d u3: bumps maximum reference bits on all platforms 2022-11-18 17:41:50 -05:00
Joe Bryan
f78e6a5447 Merge branch 'jb/release/vere' into jb/restage/chop-fast 2022-11-18 10:41:23 -05:00
Joe Bryan
0f7feef5c7 vere: adds --no-demand argument to disable demand paging 2022-11-18 00:11:21 -05:00
Joe Bryan
b102cbb908 u3: adds printf ("live: mapped ...") for demand paging 2022-11-18 00:08:55 -05:00
Joe Bryan
1b5e808ec5 u3: implements full demand paging for the home-road heap 2022-11-18 00:07:23 -05:00
Joe Bryan
a04521585c u3: coalesces memory protection when saving a snapshot 2022-11-18 00:03:13 -05:00
Joe Bryan
0682cc2864 u3: refactors _ce_loom_blit_north(), replacing loop with a single read 2022-11-18 00:00:27 -05:00
Joe Bryan
0959bb60f3 u3: coalesces memory protection when loading a snapshot 2022-11-17 23:58:39 -05:00
Joe Bryan
622f86e714 u3: misc cleanup of snapshot system
corrects comments
removes dead code
makes page and offset calculations more consistent
improves error messages
2022-11-17 23:46:52 -05:00
Joe Bryan
97e7a14123 u3: restages #6062 for release 2022-11-17 23:44:12 -05:00
Joe Bryan
5c3daa265d Merge branch 'jb/loom-everywhere' into jb/release/vere 2022-11-17 22:41:25 -05:00
pkova
2300d4fbcb vere: check for permission error on old process kill 2022-11-17 22:30:53 -05:00
Joe Bryan
255c08f53d vere: supports --loom for all relevant subcommands 2022-11-17 20:42:48 -05:00
Joe Bryan
12a7fae0b5 vere: adds args to set mars/urth looms by binary exponent 2022-11-17 19:54:21 -05:00
Joe Bryan
7ae6005f87 u3: adds loom size to u3m_boot() / u3m_boot_lite() 2022-11-17 17:44:16 -05:00
Joe Bryan
0f0ab948f1 u3: restages #6001 for release 2022-11-17 17:39:09 -05:00
Joe Bryan
3fe55a9f84 test: bump loom to 16MB in jam tests 2022-11-17 15:46:29 -05:00
Joe Bryan
1c6aba94f2 Merge branch 'master' into jb/release/vere 2022-11-17 15:38:11 -05:00