Initial commit
baseline
readme
Remove generated files from being tracked.

Those files will bring much trouble to code management.

Signed-off-by: Junjie Mao <eternal.n08@gmail.com>
build: Enable out-of-place builds.

It is now possible to write "make O=<dir>" to redirect all generated files,
including the configs and binaries, to <dir>. This will be handy when it is
needed to keep several builds with different configs at the same time.

<dir> defaults to obj when not explicitly given.

Signed-off-by: Junjie Mao <eternal.n08@gmail.com>
Add .gitignore.

Signed-off-by: Junjie Mao <eternal.n08@gmail.com>
build: Add config entry for swap.

Signed-off-by: Junjie Mao <eternal.n08@gmail.com>
config: Add cross-compiler prefix and do some rearrangement.

Signed-off-by: Junjie Mao <eternal.n08@gmail.com>
build: Fetch defconfig according to ARCH and BOARD.

This patch brings two features to the build system.

The major feature added is that defconfig are stored at
kern-ucore/arch/$(ARCH)/configs and are fetched according to the variable ARCH
and BOARD given, e.g. "make ARCH=arm BOARD=goldfishv7 menuconfig".

The another feature is that, after .config has been set up, no ARCH or BOARD are
needed any longer. The simple "make kernel" or "make sfsimg" will do the work as
ARCH will be fetched from .config and BOARD is not used in the build process.

In short, It is possible to build the system using the following commands now:
        make ARCH=arm BOARD=goldfishv7 menuconfig
        make sfsimg
        make kernel

Signed-off-by: Junjie Mao <eternal.n08@gmail.com>
i386: Adapted to the latest build system.

This only does the adaption which enables i386 uCore to be built and run into
the shell. Not fully tested and may introduce regressions.

To build i386 uCore, type the following commands.
        make ARCH=i386 menuconfig
        make kernel
        make sfsimg
        make swapimg

A simple bash script for running uCore will be added soon.

Signed-off-by: Junjie Mao <eternal.n08@gmail.com>
Add a simple script for running uCore.

Assume that uCore build directory is xxx, execute:
        ./uCore_run -d xxx
to run the system.

"./uCore_run -h" provides further help.

Signed-off-by: Junjie Mao <eternal.n08@gmail.com>
arm: Generate initrd.S in the build directory.

Signed-off-by: Junjie Mao <eternal.n08@gmail.com>
mm: Check present bit when handling COW.

This check exists in the previous baseline code but disappears in this version.
Without the check, i386 uCore will panic in the self checks. Not sure why this
is so at present and temporarily restore it.

This patch should be reverted if this is an issue elsewhere.

Signed-off-by: Junjie Mao <eternal.n08@gmail.com>
nios2 kernel can be compiled
nothing
add bootloader
add CFLAGS when compiling mksfs.c
mul/div support for userlib
fix DEP
fixed DEP in userlib/app;removed minigui when making sfsimg