Skip to content

Commit 645c8b2

Browse files
committed
[docs] Make README more useful, add contributing doc
Change-Id: I1793246f2454ad48a93aa873a9f05b8593e85ae6
1 parent e36810c commit 645c8b2

File tree

3 files changed

+66
-36
lines changed

3 files changed

+66
-36
lines changed

README.md

+30-5
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,33 @@
1-
# MAGENTA REPOSITORY
1+
# Magenta
22

3-
Welcome to the Magenta repository.
3+
Magenta is the core platform that powers the Fuchsia OS. Magenta is
4+
composed of a microkernel (source in kernel/...) as well as a small
5+
set of userspace services, drivers, and libraries (source in system/...)
6+
necessary for the system to boot, talk to hardware, load userspace
7+
processes and run them, etc. Fuchsia builds a much larger OS on top
8+
of this foundation.
49

5-
The documentation is divided into
10+
The Magenta Kernel provides syscalls to manage processes, threads,
11+
virtual memory, inter-process communication, waiting on object state
12+
changes, and locking (via futexes).
613

7-
+ [Magenta](docs/index.md) specific.
8-
+ [LK](docs/lk/index.md) specific.
14+
Currently there are some temporary syscalls that have been used for early
15+
bringup work, which will be going away in the future as the long term
16+
syscall API/ABI surface is finalized. The expectation is that there will
17+
be 10s, not 100s of syscalls.
18+
19+
Magenta syscalls are generally non-blocking. The wait (one, many, set)
20+
family of syscalls, ioport reads, and thread sleep being the notable
21+
exceptions.
22+
23+
This page is a non-comprehensive index of the magenta documentation.
24+
25+
+ [Getting Started](docs/getting_started.md)
26+
+ [Contributing Patches](docs/contributing.md)
27+
+ [Relationship with LK](docs/mg_and_lk.md)
28+
+ [Kernel Objects](docs/kernel_objects.md)
29+
+ [Process Objects](docs/objects/process.md)
30+
+ [Thread Objects](docs/objects/thread.md)
31+
+ [Handles](docs/handles.md)
32+
+ [Futexes](docs/futex.md)
33+
+ [System Calls](docs/syscalls.md)

docs/contributing.md

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# Contributing Patches to Magenta
2+
3+
At this point in time, Magenta is under heavy, active development, and we're
4+
not seeking major changes or new features from new contributors, but small
5+
bugfixes are welcome.
6+
7+
Here are some general guidelines for patches to Magenta. This list is
8+
incomplete and will be expanded over time:
9+
10+
* GitHub pull requests are not accepted. Patches are handled via
11+
Gerrit Code Review at: https://fuchsia-review.googlesource.com/#/q/project:magenta
12+
13+
* Indentation is with spaces, four spaces per indent. Never tabs.
14+
Do not leave trailing whitespace on lines. Gerrit will flag bad
15+
whitespace usage with a red background in diffs.
16+
17+
* Match the style of surrounding code.
18+
19+
* Avoid whitespace or style changes. Especially do not mix style changes
20+
with patches that do other things as the style changes are a distraction.
21+
22+
* Avoid changes that touch multiple modules at once if possible. Most
23+
changes should be to a single library, driver, app, etc.
24+
25+
* Include [tags] in the commit subject flagging which module, library,
26+
app, etc, is affected by the change. The style here is somewhat informal.
27+
Look at past changes to get a feel for how these are used.
28+
29+
* Magenta should be buildable for all major targets (x86-64, arm64, arm32)
30+
at every change. ./scripts/build-all-magenta can help with this.
31+
32+
* Avoid breaking the unit tests. Boot Magenta and run "runtests" to
33+
verify that they're all passing.
34+
35+
* The #fuchsia channel on the freenode irc network is a good place to ask
36+
questions.

docs/index.md

-31
This file was deleted.

0 commit comments

Comments
 (0)