From: David Given Date: Fri, 21 Jun 2013 22:21:08 +0000 (+0100) Subject: Updated VC4 docs. X-Git-Tag: release-6-0-pre-5~10^2~9 X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=2be811bac24d6bfb477fbd29df3df6280e145e23;p=ack.git Updated VC4 docs. --HG-- branch : dtrg-videocore --- diff --git a/man/vc4_as.6 b/man/vc4_as.6 new file mode 100644 index 000000000..81b10813d --- /dev/null +++ b/man/vc4_as.6 @@ -0,0 +1,45 @@ +.\" $Header$ +.TH VC4_AS 1 +.ad +.SH NAME +vc4_as \- assembler for Broadcom VideoCore IV + +.SH SYNOPSIS +/usr/em/lib/vc4_as [options] argument ... + +.SH DESCRIPTION +This assembler is made with the general framework +described in \fIuni_ass\fP(6). + +.SH SYNTAX +The assembler uses a modified version of the syntax described in +https://github.com/hermanhermitage/videocoreiv/wiki/VideoCore-IV-Programmers-Manual: +condition codes must be prefixed with a full stop. Vector instructions are not +yet supported. + +.SH "SEE ALSO" +uni_ass(6), +ack(1), +.br +https://github.com/hermanhermitage/videocoreiv +.SH EXAMPLE +.nf +.ta 8n 16n 24n 32n 40n 48n +An example of VideoCore IV assembly language: + + ldb r0, __uart_status + b.eq r0, #0, 1b + + ! receive 1 byte (returned in r0) + mov r1, #AUX_MU_LSR_REG + mov r2, #AUX_MU_IO_REG + ! loop until char available +recvwait: + ld r3, (r1) + and r3, #0x1 + b.ne r3, #0x1, recvwait + + ldb r0, (r2) +1: + b lr +.fi diff --git a/plat/rpi/README b/plat/rpi/README index f8836724c..7d78433dd 100644 --- a/plat/rpi/README +++ b/plat/rpi/README @@ -5,6 +5,9 @@ This is a fairly crude port of the ACK to produce VideoCore IV machine code, suitable for use on the Raspberry Pi. It produces terrible but working code. The resulting binaries can be used either bare metal or loaded as a GPU kernel and executed using a modified mailbox.c (see below). +Currently floating point support is present but incomplete; and as the +VideoCore IV does not have double-precision float support, the C compiler +treats doubles as single precision. As much of the standard C library as is relevant works; if you're running in bare-metal mode, you can hook stdin/stdout up to the