173 Commits
Author SHA1 Message Date
Robin 78b167e4f3 kernel: use FLAGS_IF enum for 0x200 (#105) 2022-02-16 10:54:28 +08:00
Robin 4892e84bae fs: update afero to v1.8.1 (#103)
In afero v1.6.0 the FromIOFS type was added [1], which
facilitates interopability with the fs.FS interface of
the Go standard library.

To support afero.FromIOFS in eggos, afero was updated
to the latest version.

Note: the afero.Fs interface has been updated since v1.4.0
to include the Chown method. As such, the logger, mount
and smb file system types were updated to include the Chown
method.

In particular, the fs/logger.logger, fs/mount.MountableFs and
fs/stripprefix.fs file system types have been updated to include
Chown.

However, as of yet, a stub implementation of Chown exist for the
smb.Fs file system type.

[1]: https://pkg.go.dev/github.com/spf13/afero#FromIOFS
2022-02-10 22:32:54 +08:00
Robin 0bb2d1def6 drivers/{multiboot,vbe,qemu}: add docs (#102)
* drivers/vbe: add docs

Also, remove unused bootloaderMagic constant. A corresponding constant
is defined in and used by the multiboot package.

* drivers/qemu: add docs

* drivers/multiboot: fix typo; s/DrivesrAddr/DriversAddr/

* all: add go:build comments for Go build tags, as used by Go 1.17

ref: https://go.dev/doc/go1.17#build-lines

This commit was automated using goimports:

	find . -type f -name '*.go' | xargs -I '{}' goimports -w '{}'
2022-02-08 22:58:59 +08:00
jspc 86eec44700 log: Allow eggos implementations to programatically set log levels (#96)
When running applications on environments where there is no environment, calls to os.Setenv to set a loglevel have inconsistent results. Similarly, setting this environment variable before the first log event, and thus making that call moot, is racy.

Instead, then, export log levels, drop the potential stutter in log.LogLvl to log.Level, and allow implementations/ callers of this package to set a log level accordingly, while maintaining the default behaviour
2022-02-04 23:30:00 +08:00
jspc 8613a4e5a6 docs: add FAQ and issue template (#95) 2022-02-04 22:53:40 +08:00
Robin 296cbe306b kernel/{,mm,sys}: add docs for asm procedures (#94) 2022-02-04 21:06:41 +08:00
Robin c09e358b5e kernel/sys: add docs for Go function wrappers of asm instructions (#93) 2022-02-04 18:05:37 +08:00
cm.d 5527749f7e Add Cowsay App (#89) 2021-11-08 10:18:19 +08:00
fanbingxin 08f787080e docs: update roadmap (#82) 2021-08-15 23:08:34 +08:00
fanbingxin 971efada74 kernel: optimize futex with timeout (#80) 2021-08-12 00:33:59 +08:00
Kevin CHEN 2921eb8b93 docs: optimise readme (#79) 2021-08-08 23:10:42 +08:00
Kevin CHEN 591a9d3ee0 docs: fix grammar (#78) 2021-08-08 22:56:20 +08:00
fanbingxin 9b479c46e8 app: add examples for egg command (#77) 2021-08-08 01:17:02 +08:00
fanbingxin a0ffbaf71f Merge pull request #76 from icexin/logo 2021-08-08 00:09:49 +08:00
icexin 1bce621099 .github: add release note from commit msg 2021-08-08 00:07:36 +08:00
icexin 692960484e README: fix logo pos 2021-08-08 00:03:02 +08:00
fanbingxin 044a5081aa kernel: add avx support (#75) 2021-08-07 22:55:41 +08:00
fanbingxin 7cdf539b85 doc: add logo (#74) 2021-08-07 00:41:40 +08:00
icexin 8080dcad27 cmd/egg: fix build for go args 2021-08-07 00:26:18 +08:00
fanbingxin 4985da087e cmd/egg: Fix run and test command to accept kernel as argument and qemu options from QEMU_OPTS env var (#73)
Thanks for @prologic 's contribution.

The following adjustments have been made on the basis of the original code:
- The binary files generated by `egg test` and `egg run` are placed in the temporary directory to keep the source code directory clean
- Modify the code of `magefile.go` to synchronize with the `egg` command
2021-08-07 00:21:59 +08:00
fanbingxin 42574510ac Update README.md 2021-08-05 08:48:30 +08:00
fanbingxin 7ed33ec6d8 Update README.md 2021-08-05 02:15:18 +08:00
fanbingxin ac9f349b3e readme: udpate (#68) 2021-08-05 02:14:13 +08:00
fanbingxin cdcb5bb64b readme: add cn readme (#67) 2021-08-05 02:09:12 +08:00
fanbingxin a8f27c048e Merge pull request #66 from icexin/egg
.github: add support for goreleaser
2021-08-05 01:13:15 +08:00
icexin a480439f57 mage: add prometheus tag 2021-08-05 01:09:07 +08:00
icexin 64d01fd290 app: fix prometheus 2021-08-05 01:08:49 +08:00
icexin 044ea3cf0f .github: fix install qemu 2021-08-05 00:58:28 +08:00
icexin b874227792 .github: add support for goreleaser 2021-08-05 00:55:48 +08:00
icexin 61a545dd03 mage: use egg to manage tasks 2021-08-05 00:42:44 +08:00
icexin 2bca7714cd cmd/egg: add qemu args 2021-08-05 00:33:38 +08:00
fanbingxin cfd7b4d297 Merge pull request #65 from icexin/egg
cmd/egg: fix go build tags
2021-08-04 01:14:34 +08:00
icexin d9348b3a9f cmd/egg: verbose log when check module error 2021-08-04 00:58:21 +08:00
icexin 777a42b6a5 cmd/egg: fix go build tags 2021-08-04 00:38:52 +08:00
fanbingxin 823a27ccea Merge pull request #64 from icexin/egg 2021-08-03 23:29:31 +08:00
icexin dbe9411e65 cmd/egg: add GOROOT for choose go version 2021-08-03 23:20:11 +08:00
icexin 3f6e785feb fix ci tag 2021-08-03 23:06:33 +08:00
icexin 738bc20a2b all: asmfmt 2021-08-03 23:04:00 +08:00
icexin 777ff47318 cmd/egg: verbose message when pull docker image 2021-08-03 23:00:18 +08:00
icexin 511722fe74 cmd/egg: rename cmd package to pack 2021-08-03 21:46:06 +08:00
fanbingxin 6ce69f8db1 Merge pull request #63 from icexin/egg
cmd/egg: add package command

update #55
2021-08-03 00:28:08 +08:00
icexin a0945b70d4 cmd/egg: treat no ext as elf kernel 2021-08-03 00:19:55 +08:00
icexin 119c904491 fs: add lseek 2021-08-03 00:17:41 +08:00
icexin 79980466b8 cmd/egg: default use docker 2021-08-03 00:17:25 +08:00
icexin 8f608c9ac6 cmd/egg: add package command 2021-08-03 00:14:03 +08:00
icexin 4e6fe50d87 kernel: fix exit_group 2021-08-03 00:12:37 +08:00
fanbingxin 0150535deb Merge pull request #62 from icexin/egg
add cmd/egg update #55
2021-08-02 20:41:49 +08:00
fanbingxin cc72f903f1 Merge branch 'main' into egg 2021-08-02 20:39:27 +08:00
icexin bfdaebde63 cmd/egg: add port mapping 2021-08-02 20:36:16 +08:00
icexin 2fc62b5cb4 kernel: log unhanded syscall 2021-08-02 19:24:03 +08:00