Generate developer docs with Sphinx
An effort was started some time ago to consolidate all internal documentation in the git tree. However, this was just an accumulation of files in various formats without any strucutre or way to browse it, which results in no one even knowing that we have docs here. This converts most of the files to restructuredtext and uses Sphinx to generate an HTML browsable user manual (with a table of content and a first attempt to put things in a global hierarchy). There are almost no changes to the documentation content in this commit (some obviously obsolete things were removed). The plan is to get the toolchain up and running to make these docs easily available, and only then see about improving the content. We can migrate some things off the wiki and website, and rework the table of contents to have some more hierarchy levels because currently it's a bit messy. Change-Id: I924ac9dc6e753887ab56f18a09bdb0a1e1793bfd Reviewed-on: https://review.haiku-os.org/c/haiku/+/4370 Reviewed-by: Niels Sascha Reedijk <[email protected]>
This commit is contained in:
committed by
Adrien Destugues
parent
7f8195344a
commit
a5061ecec5
@@ -0,0 +1,19 @@
|
||||
Notes on a possible BeBox Haiku port
|
||||
====================================
|
||||
|
||||
Bootloader
|
||||
----------
|
||||
|
||||
The BeBox ROM expects the bootloader to be in PEF format, as was produced by the CodeWarrior
|
||||
compiler used by Be. However, support for this format in binutils seems incomplete.
|
||||
|
||||
references
|
||||
----------
|
||||
|
||||
* http://www.netbsd.org/ports/bebox/
|
||||
* http://netbsd.2816.n7.nabble.com/BeBox-memory-configuration-td278318.html
|
||||
|
||||
QEMU target
|
||||
-----------
|
||||
|
||||
http://qemu-project.org/Features/BeBox
|
||||
@@ -1,7 +0,0 @@
|
||||
Notes on a possible BeBox Haiku port -*- org -*-
|
||||
|
||||
* references
|
||||
http://www.netbsd.org/ports/bebox/
|
||||
http://netbsd.2816.n7.nabble.com/BeBox-memory-configuration-td278318.html
|
||||
** QEMU target
|
||||
http://qemu-project.org/Features/BeBox
|
||||
@@ -0,0 +1,17 @@
|
||||
The Apple Macintosh port
|
||||
======================================
|
||||
|
||||
The current target is "new world" machines, which have a more complete and reliable implementation
|
||||
of Open Firmware.
|
||||
|
||||
* http://www.debian.org/releases/stable/powerpc/ch05s01.html.en
|
||||
* http://www.kernelthread.com/mac/osx/arch_boot.html
|
||||
* http://playground.sun.com/1275/mejohnson/
|
||||
* http://homepages.gold.ac.uk/suzanne/startup.html
|
||||
* http://www.netbsd.org/ports/macppc/SystemDisk-tutorial/
|
||||
* http://www.netneurotic.net/mac/openfirmware.html
|
||||
* http://www.netbsd.org/ports/macppc/faq.html
|
||||
* http://mail-index.netbsd.org/port-macppc/1999/03/21/0001.html
|
||||
* http://mail-index.netbsd.org/port-macppc/1999/06/25/0006.html
|
||||
* http://ps-2.kev009.com/solinno.co.uk/7043-140/files/docs/ {OF,PReP}
|
||||
* http://www.openfirmware.org/1275/bindings/chrp/
|
||||
@@ -1,11 +0,0 @@
|
||||
http://www.debian.org/releases/stable/powerpc/ch05s01.html.en
|
||||
http://www.kernelthread.com/mac/osx/arch_boot.html
|
||||
http://playground.sun.com/1275/mejohnson/
|
||||
http://homepages.gold.ac.uk/suzanne/startup.html
|
||||
http://www.netbsd.org/ports/macppc/SystemDisk-tutorial/
|
||||
http://www.netneurotic.net/mac/openfirmware.html
|
||||
http://www.netbsd.org/ports/macppc/faq.html
|
||||
http://mail-index.netbsd.org/port-macppc/1999/03/21/0001.html
|
||||
http://mail-index.netbsd.org/port-macppc/1999/06/25/0006.html
|
||||
http://ps-2.kev009.com/solinno.co.uk/7043-140/files/docs/ {OF,PReP}
|
||||
http://www.openfirmware.org/1275/bindings/chrp/
|
||||
@@ -0,0 +1,24 @@
|
||||
The PowerPC port
|
||||
================
|
||||
|
||||
PowerPC was the first non-x86architecture for which a port of Haiku was attempted. The initial
|
||||
target was the (then recently released) Mac Mini, but of course the BeBox was in everyone's mind
|
||||
as a possible target for this port.
|
||||
|
||||
This port went as far as starting the kernel, but then difficulties in implementing the Mac Mini
|
||||
PCI bus driver stopped it.
|
||||
|
||||
Later on, some work as done on adding support for the Sam460ex development board, after a donation
|
||||
of one to one of the Haiku developers.
|
||||
|
||||
Recently, the lack of easily available and affordable PowerPC hardware has reduced interest in this
|
||||
port.
|
||||
|
||||
Platform specific details
|
||||
-------------------------
|
||||
|
||||
.. toctree::
|
||||
|
||||
/kernel/arch/ppc/bebox
|
||||
/kernel/arch/ppc/mac
|
||||
/kernel/arch/ppc/sam460ex
|
||||
@@ -0,0 +1,119 @@
|
||||
The Sam460ex Haiku port
|
||||
=======================
|
||||
|
||||
Complications for this port comes from the fact that the CPU used was designed for embedded devices,
|
||||
and has a much simpler MMU than the one on desktop machines. As a result, completely different
|
||||
memory management code needs to be written.
|
||||
|
||||
U-Boot commands
|
||||
---------------
|
||||
|
||||
no-fdt no-initrd
|
||||
****************
|
||||
|
||||
seems the U-Boot input buffer is quite limited, can't paste much more on single line in minicom
|
||||
|
||||
setenv ipaddr 192.168.4.100; tftpboot 0x4000000 192.168.4.2:haiku_loader_linux.ub; bootm 0x4000000
|
||||
|
||||
with FDT and tgz as initrd
|
||||
**************************
|
||||
|
||||
setenv ipaddr 192.168.4.100
|
||||
tftpboot 0x4000000 192.168.4.2:haiku_loader_linux.ub
|
||||
tftpboot 0x8000000 192.168.4.2:haiku_initrd.ub
|
||||
tftpboot 0xc000000 192.168.4.2:sam460ex.dtb
|
||||
fdt addr 0xc000000
|
||||
fdt header
|
||||
bootm 0x4000000 0x8000000 0xc000000 plop
|
||||
|
||||
for environment
|
||||
***************
|
||||
|
||||
setenv booth1 'setenv ipaddr 192.168.4.100; tftpboot 0x4000000 192.168.4.2:haiku_loader_linux.ub'
|
||||
setenv booth2 'tftpboot 0x8000000 192.168.4.2:haiku_initrd.ub'
|
||||
setenv booth3 'tftpboot 0xc000000 192.168.4.2:sam460ex.dtb'
|
||||
setenv booth4 'bootm 0x4000000 0x8000000 0xc000000 plop'
|
||||
setenv booth 'run booth1; run booth2; run booth3; run booth4'
|
||||
saveenv
|
||||
run booth
|
||||
|
||||
TODOs
|
||||
-----
|
||||
|
||||
* U-Boot API?
|
||||
* move Partenope hack to proper official U-Boot API?
|
||||
* reserved regs?
|
||||
|
||||
BoardSetup +=:?
|
||||
TARGET_BOOT_CCFLAGS += -ffixed-r2 -ffixed-r14 -ffixed-r29 ;
|
||||
TARGET_BOOT_C++FLAGS += -ffixed-r2 -ffixed-r14 -ffixed-r29 ;
|
||||
|
||||
* kdebug/disasm/ppc http://code.google.com/p/ppcd/
|
||||
|
||||
Other ports
|
||||
-----------
|
||||
|
||||
* `AROS port <https://www.gitorious.org/aros/aros/commits/sam460>`_
|
||||
* `Linux port <http://kernel.org/doc/ols/2003/ols2003-pages-340-350.pdf>`_
|
||||
* `NetBSD <https://wiki.netbsd.org/users/rkujawa/sam4x0/>`_
|
||||
|
||||
PowerPC information
|
||||
-------------------
|
||||
|
||||
Classic
|
||||
*******
|
||||
|
||||
* http://class.ee.iastate.edu/cpre211/labs/quickrefPPC.html
|
||||
* http://www.ibm.com/developerworks/library/l-ppc/
|
||||
* http://www.csd.uwo.ca/~mburrel/stuff/ppc-asm.html
|
||||
|
||||
Book-E
|
||||
******
|
||||
|
||||
* http://www.linux-kvm.org/page/PowerPC_Book_E_MMU
|
||||
* http://wiki.freebsd.org/powerpc/BookE
|
||||
* http://en.wikipedia.org/wiki/Memory_management_unit#PowerPC
|
||||
|
||||
ePAPR
|
||||
*****
|
||||
|
||||
* https://www.power.org/wp-content/uploads/2012/06/Power_ePAPR_APPROVED_v1.1.pdf
|
||||
* PPC440: http://elinux.org/Book_E_and_PPC_440
|
||||
|
||||
amcc 4x0
|
||||
********
|
||||
|
||||
* http://c0ff33.net/drop/PPC440_UM2013.pdf
|
||||
* http://www.embeddeddeveloper.com/assets/processors/amcc/datasheets/PP460EX_DS2063.pdf
|
||||
|
||||
Freescale 440
|
||||
*************
|
||||
|
||||
This version has a different mmu!!
|
||||
|
||||
* http://www.freescale.com/files/32bit/doc/white_paper/POWRPCARCPRMRM.pdf
|
||||
|
||||
FDT
|
||||
---
|
||||
|
||||
* http://www.denx.de/wiki/U-Boot/UBootFdtInfo
|
||||
* http://wiki.freebsd.org/FlattenedDeviceTree#Supporting_library_.28libfdt.29
|
||||
* (see also arm docs)
|
||||
|
||||
Sam440 dts
|
||||
**********
|
||||
|
||||
* http://lxr.linux.no/linux+v3.4/arch/powerpc/boot/dts/sam440ep.dts
|
||||
* Sam460ex dts: identical to amcc,Canyonlands !?
|
||||
* http://www.denx.de/wiki/view/DULG/Appendix#Section_13.1.
|
||||
|
||||
OpenFirmware framebuffer
|
||||
************************
|
||||
|
||||
(not really usable from U-Boot (yet?))
|
||||
|
||||
* http://www.feedface.com/howto/forth.html
|
||||
* http://mail-index.netbsd.org/port-macppc/2004/12/13/0046.html
|
||||
* http://lists.freebsd.org/pipermail/svn-src-user/2012-January/004806.html
|
||||
* http://www.openfirmware.info/Bindings
|
||||
|
||||
@@ -1,76 +0,0 @@
|
||||
Notes on Sam460ex Haiku port -*- org -*-
|
||||
|
||||
* U-Boot commands
|
||||
** no-fdt no-initrd
|
||||
# (seems the U-Boot input buffer is quite limited, can't paste much more on single line in minicom)
|
||||
setenv ipaddr 192.168.4.100; tftpboot 0x4000000 192.168.4.2:haiku_loader_linux.ub; bootm 0x4000000
|
||||
** with FDT and tgz as initrd
|
||||
setenv ipaddr 192.168.4.100
|
||||
tftpboot 0x4000000 192.168.4.2:haiku_loader_linux.ub
|
||||
tftpboot 0x8000000 192.168.4.2:haiku_initrd.ub
|
||||
tftpboot 0xc000000 192.168.4.2:sam460ex.dtb
|
||||
fdt addr 0xc000000
|
||||
fdt header
|
||||
bootm 0x4000000 0x8000000 0xc000000 plop
|
||||
** for environment:
|
||||
setenv booth1 'setenv ipaddr 192.168.4.100; tftpboot 0x4000000 192.168.4.2:haiku_loader_linux.ub'
|
||||
setenv booth2 'tftpboot 0x8000000 192.168.4.2:haiku_initrd.ub'
|
||||
setenv booth3 'tftpboot 0xc000000 192.168.4.2:sam460ex.dtb'
|
||||
setenv booth4 'bootm 0x4000000 0x8000000 0xc000000 plop'
|
||||
setenv booth 'run booth1; run booth2; run booth3; run booth4'
|
||||
saveenv
|
||||
run booth
|
||||
|
||||
|
||||
* TODO U-Boot API?
|
||||
** TODO move Partenope hack to proper official U-Boot API?
|
||||
** TODO reserved regs?
|
||||
BoardSetup +=:?
|
||||
TARGET_BOOT_CCFLAGS += -ffixed-r2 -ffixed-r14 -ffixed-r29 ;
|
||||
TARGET_BOOT_C++FLAGS += -ffixed-r2 -ffixed-r14 -ffixed-r29 ;
|
||||
|
||||
* Other ports
|
||||
** AROS port
|
||||
https://www.gitorious.org/aros/aros/commits/sam460
|
||||
** Linux port
|
||||
http://kernel.org/doc/ols/2003/ols2003-pages-340-350.pdf
|
||||
** NetBSD
|
||||
https://wiki.netbsd.org/users/rkujawa/sam4x0/
|
||||
|
||||
* PPC
|
||||
** Classic
|
||||
http://class.ee.iastate.edu/cpre211/labs/quickrefPPC.html
|
||||
http://www.ibm.com/developerworks/library/l-ppc/
|
||||
http://www.csd.uwo.ca/~mburrel/stuff/ppc-asm.html
|
||||
** Book-E
|
||||
http://www.linux-kvm.org/page/PowerPC_Book_E_MMU
|
||||
http://wiki.freebsd.org/powerpc/BookE
|
||||
http://en.wikipedia.org/wiki/Memory_management_unit#PowerPC
|
||||
** ePAPR
|
||||
https://www.power.org/wp-content/uploads/2012/06/Power_ePAPR_APPROVED_v1.1.pdf
|
||||
** 440
|
||||
http://elinux.org/Book_E_and_PPC_440
|
||||
*** amcc 4x0
|
||||
http://c0ff33.net/drop/PPC440_UM2013.pdf
|
||||
http://www.embeddeddeveloper.com/assets/processors/amcc/datasheets/PP460EX_DS2063.pdf
|
||||
*** Freescale 440 (different mmu!!)
|
||||
http://www.freescale.com/files/32bit/doc/white_paper/POWRPCARCPRMRM.pdf
|
||||
|
||||
* FDT
|
||||
http://www.denx.de/wiki/U-Boot/UBootFdtInfo
|
||||
http://wiki.freebsd.org/FlattenedDeviceTree#Supporting_library_.28libfdt.29
|
||||
(see also arm docs)
|
||||
** Sam440 dts
|
||||
http://lxr.linux.no/linux+v3.4/arch/powerpc/boot/dts/sam440ep.dts
|
||||
** Sam460ex dts: identical to amcc,Canyonlands !?
|
||||
http://www.denx.de/wiki/view/DULG/Appendix#Section_13.1.
|
||||
|
||||
* OF framebuffer
|
||||
(not really usable from U-Boot (yet?))
|
||||
http://www.feedface.com/howto/forth.html
|
||||
http://mail-index.netbsd.org/port-macppc/2004/12/13/0046.html
|
||||
http://lists.freebsd.org/pipermail/svn-src-user/2012-January/004806.html
|
||||
http://www.openfirmware.info/Bindings
|
||||
|
||||
* TODO kdebug/disasm/ppc
|
||||
http://code.google.com/p/ppcd/
|
||||
Reference in New Issue
Block a user