diff --git a/board-qemu/slof/Makefile b/board-qemu/slof/Makefile index d412683..7890a0f 100644 --- a/board-qemu/slof/Makefile +++ b/board-qemu/slof/Makefile @@ -84,6 +84,7 @@ OF_FFS_FILES = \ $(SLOFCMNDIR)/fs/ide.fs \ $(SLOFCMNDIR)/fs/fbuffer.fs \ $(SLOFCMNDIR)/fs/generic-disk.fs \ + $(SLOFCMNDIR)/fs/dma-function.fs \ $(SLOFCMNDIR)/fs/pci-device.fs \ $(SLOFCMNDIR)/fs/pci-bridge.fs \ $(SLOFCMNDIR)/fs/pci-properties.fs \ diff --git a/slof/fs/dma-function.fs b/slof/fs/dma-function.fs new file mode 100644 index 0000000..c1c8716 --- /dev/null +++ b/slof/fs/dma-function.fs @@ -0,0 +1,36 @@ +\ ***************************************************************************** +\ * Copyright (c) 2004, 2014 IBM Corporation +\ * All rights reserved. +\ * This program and the accompanying materials +\ * are made available under the terms of the BSD License +\ * which accompanies this distribution, and is available at +\ * http://www.opensource.org/licenses/bsd-license.php +\ * +\ * Contributors: +\ * IBM Corporation - initial implementation +\ ****************************************************************************/ + +\ DMA memory allocation functions +: dma-alloc ( size -- virt ) + my-phandle TO calling-child + s" dma-alloc" my-phandle parent $call-static + 0 TO calling-child +; + +: dma-free ( virt size -- ) + my-phandle TO calling-child + s" dma-free" my-phandle parent $call-static + 0 TO calling-child +; + +: dma-map-in ( virt size cacheable? -- devaddr ) + my-phandle TO calling-child + s" dma-map-in" my-phandle parent $call-static + 0 TO calling-child +; + +: dma-map-out ( virt devaddr size -- ) + my-phandle TO calling-child + s" dma-map-out" my-phandle parent $call-static + 0 TO calling-child +; diff --git a/slof/fs/pci-device.fs b/slof/fs/pci-device.fs index afad756..7b17758 100644 --- a/slof/fs/pci-device.fs +++ b/slof/fs/pci-device.fs @@ -53,32 +53,7 @@ s" my-puid" my-phandle parent $call-static CONSTANT my-puid r> TO puid \ restore puid ; - -\ DMA memory allocation functions -: dma-alloc ( size -- virt ) - my-phandle TO calling-child - s" dma-alloc" my-phandle parent $call-static - 0 TO calling-child -; - -: dma-free ( virt size -- ) - my-phandle TO calling-child - s" dma-free" my-phandle parent $call-static - 0 TO calling-child -; - -: dma-map-in ( virt size cacheable? -- devaddr ) - my-phandle TO calling-child - s" dma-map-in" my-phandle parent $call-static - 0 TO calling-child -; - -: dma-map-out ( virt devaddr size -- ) - my-phandle TO calling-child - s" dma-map-out" my-phandle parent $call-static - 0 TO calling-child -; - +s" dma-function.fs" included \ generate the rom-fs filename from the vendor and device ID "pci-device_VENDORID_DEVICEID.fs" : devicefile ( -- str len )