Skip to content

Commit 295584e

Browse files
authored
Update and improve documentation (#1256)
1 parent 66d6d8a commit 295584e

31 files changed

+331
-310
lines changed

Source/Docs/a-dive-into-baremetal.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ good example of this is the ``PCService``, or even the aforementioned ``DeviceSe
198198
fulfills the purpose of handling power management, like shutting down or rebooting the system. This service must be
199199
queryable at any point in time, whenever the user wishes to shut down or reboot their PC. Similarly (but more so
200200
to the end user), the ``DeviceService`` allows querying any initialized device driver in the system. This is
201-
particularly useful if you want to, say, get all ``IGraphicsDevice``s in the system, or even get a very specific device
201+
particularly useful if you want to, say, get all ``IGraphicsDevice`` devices in the system, or even get a very specific device
202202
like a ``StandardKeyboard``.
203203

204204
Either way, here, we initialize a total of **5 new services**, all of which most likely need no introduction now. But,

Source/Docs/compiler-design.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
###############
2-
Compiler Design
2+
Compiler design
33
###############
44

55
The MOSA Compiler framework is designed around two pipelines, each with multiple stages, and a type system.

Source/Docs/compiler-optimizations.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
######################
2-
Compiler Optimizations
2+
Compiler optimizations
33
######################
44

55
Optimizations

Source/Docs/compiler-transformations.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
########################
2-
Compiler Transformations
2+
Compiler transformations
33
########################
44

55
The MOSA compiler uses a database of transformations to represent specific types of optimizations. These transformation

Source/Docs/contents.txt

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
:maxdepth: 1
1414

1515
getting-started
16+
usb-flash-drive-installation
1617
demos
1718

1819
.. toctree::
@@ -26,6 +27,15 @@
2627
tool-explorer
2728
tool-debugger
2829

30+
.. toctree::
31+
:caption: Utilities
32+
:hidden:
33+
:maxdepth: 1
34+
35+
unit-tests
36+
create-core-library
37+
source-code-generator
38+
2939
.. toctree::
3040
:caption: Settings
3141
:hidden:
@@ -59,14 +69,6 @@
5969

6070
runtime-tables
6171

62-
.. toctree::
63-
:caption: Advanced
64-
:hidden:
65-
:maxdepth: 1
66-
67-
unit-tests
68-
usb-flash-drive-installation
69-
7072
.. toctree::
7173
:caption: Contribute
7274
:hidden:
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
###################
2+
Create core library
3+
###################
4+
5+
To implement its own core library, MOSA generates a "dummy" one that includes all the public APIs but without the actual implementation code. The **Create core library** utility takes care of doing that work. To clone the official .NET core library repository, it requires ``git``. Here are the available command line arguments for the utility:
6+
7+
.. csv-table::
8+
:header: "Short name","Long name","Description"
9+
:widths: 100, 100, 50
10+
11+
-o,\-\-output,Sets the output directory.
12+
-c,\-\-copy-files,"If enabled, only copies and patches the source files and stops."
13+
14+
To run the utility, simply execute the following command on any platform:
15+
16+
.. code-block:: bash
17+
18+
dotnet bin/Mosa.Utility.CreateCoreLib.dll -o Output
19+
20+
The process can take between a few seconds to a few minutes depending on the speed of your internet connection and PC. At the end, you should get a ``System.Runtime.dll`` file at the directory where you executed the utility. At the end, you should get a console output that looks like this:
21+
22+
.. code-block:: text
23+
24+
Cloning .NET runtime GitHub repository...
25+
Cloning into 'runtime'...
26+
remote: Enumerating objects: 65953, done.
27+
remote: Counting objects: 100% (65953/65953), done.
28+
remote: Compressing objects: 100% (42248/42248), done.
29+
Receiving objects: 100% (65953/65953), 88.04 MiB | 9.16 MiB/s, done.
30+
remote: Total 65953 (delta 25898), reused 34761 (delta 20956), pack-reused 0 (from 0)
31+
Resolving deltas: 100% (25898/25898), done.
32+
Updating files: 100% (58901/58901), done.
33+
Parsing input files...
34+
Patching System.DirectoryServices.manual.cs...
35+
Patching System.Net.Http.Json.cs...
36+
Patching System.Net.Http.WinHttpHandler.cs...
37+
Patching System.Configuration.ConfigurationManager.cs...
38+
Patching System.Data.Common.cs...
39+
Compiling source files...
40+
Decompiling assembly...
41+
Removing project file...
42+
Removing Properties folder...
43+
Patching System.Collections.Generic/PriorityQueue.cs...
44+
Patching System.Collections.Generic/PriorityQueue.cs...
45+
Patching System/Nullable.cs...
46+
Patching System/ReadOnlySpan.cs...
47+
Patching System.Runtime.InteropServices/Marshal.cs...
48+
Patching System.Runtime.InteropServices/MemoryMarshal.cs...
49+
Patching System.Runtime.CompilerServices/Unsafe.cs...
50+
Patching System.Numerics/Vector.cs...
51+
Patching System.Runtime.Intrinsics/Vector64.cs...
52+
Patching System.Runtime.Intrinsics/Vector128.cs...
53+
Patching System.Runtime.Intrinsics/Vector256.cs...
54+
Patching System.Runtime.Intrinsics/Vector512.cs...
55+
Patching System.Threading/Volatile.cs...
56+
Patching System.Threading/Interlocked.cs...

Source/Docs/demos.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ CoolWorld
1212

1313
It's MOSA's flagship demo. It can boot into either console mode (containing a shell with a few basic commands) or
1414
graphical mode (which makes use of the GPU and some other features offered by MOSA). You can boot into console mode by
15-
inserting the `-bootoptions coolworldui=consolemode` command line option when starting the MOSA launcher.
15+
inserting the ``-bootoptions coolworldui=consolemode`` command line option when starting the MOSA launcher.
1616

1717
Console mode:
1818

Source/Docs/faq.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,4 +45,4 @@ Are Cosmos and MOSA working together?
4545
Recently, there have been talks to integrate the MOSA compiler into Cosmos, thus potentially being able to implement
4646
more features in the MOSA compiler while also providing more stability and performance for Cosmos. While nothing has
4747
come out of this yet, you can express your opinion on this in our Discord in #cosmos-integration and in the Cosmos
48-
Discord in #mosa-cosmos-crossdev.
48+
Discord in #dev-mosa-cosmos.

Source/Docs/get-involved.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
############
2-
Get Involved
2+
Get involved
33
############
44

55
We need your help!
@@ -35,5 +35,5 @@ contributions if you:
3535
Please be careful with any contribution you make regarding to patents, other open source licenses and any potential
3636
restrictions. We can only accept contributions compatible with the
3737
`New BSD License <http://en.wikipedia.org/wiki/BSD_licenses>`__. MIT license is a compatible license, while GNU licenses
38-
are incomparable. Read more about our :doc:`license` policy.
38+
are incomparable. Read more about our :doc:`license<license>` policy.
3939

Source/Docs/getting-started.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
***************
2-
Getting Started
2+
Getting started
33
***************
44

55
Prerequisites
@@ -20,12 +20,12 @@ On Linux, the following prerequisites are necessary:
2020
* `Git <https://git-scm.com/>`__ (only if you want to clone and build manually)
2121
* `QEMU <https://www.qemu.org/>`__
2222

23-
If you're using Ubuntu 22.04, you can use the following commands to quickly set everything up:
23+
If you're using Ubuntu 24.04, you can use the following commands to quickly set everything up:
2424

2525
.. code-block:: bash
2626
2727
# Register Microsoft package repository
28-
wget -q https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
28+
wget -q https://packages.microsoft.com/config/ubuntu/24.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
2929
sudo dpkg -i packages-microsoft-prod.deb
3030
3131
# Install the .NET Core SDK

0 commit comments

Comments
 (0)