libpayload: arch/mips: add virt/bus/phy_to_bus/phy/virt operations

BUG=chrome-os-partner:31438
TEST=tested on Pistachio FPGA and bring up board; works as
     expected
BRANCH=none

Change-Id: I368494f388b82969dda0ce73a38824791efce616
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: e4c2bbcbdbcf706062724cffe2d5f15953468ace
Original-Change-Id: Id5c9b1d65c6ec87f2aba06995dc940c50afb041f
Original-Signed-off-by: Ionela Voinescu <ionela.voinescu@imgtec.com>
Original-Reviewed-on: https://chromium-review.googlesource.com/245386
Original-Reviewed-by: David Hendricks <dhendrix@chromium.org>
Reviewed-on: http://review.coreboot.org/8746
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
This commit is contained in:
Ionela Voinescu 2015-02-02 14:48:12 +00:00 committed by Patrick Georgi
parent 3673311619
commit debc1744e1
2 changed files with 10 additions and 6 deletions

View File

@ -19,7 +19,8 @@
#include <unistd.h>
unsigned long virtual_offset = 0;
unsigned long virt_to_phys_offset = 0;
unsigned long virt_to_bus_offset = 0x60000000;
int getpagesize(void)
{

View File

@ -20,12 +20,15 @@
#ifndef __MIPS_ARCH_VIRTUAL_H
#define __MIPS_ARCH_VIRTUAL_H
extern unsigned long virtual_offset;
extern unsigned long virt_to_phys_offset;
extern unsigned long virt_to_bus_offset;
#define virt_to_phys(virt) ((unsigned long) (virt) + virtual_offset)
#define phys_to_virt(phys) ((void *) ((unsigned long) (phys) - virtual_offset))
#define virt_to_phys(virt) ((unsigned long) (virt) + virt_to_phys_offset)
#define phys_to_virt(phys) ((void *) ((unsigned long) (phys) - \
virt_to_phys_offset))
#define virt_to_bus(addr) virt_to_phys(addr)
#define bus_to_virt(addr) phys_to_virt(addr)
#define virt_to_bus(virt) ((unsigned long) (virt) + virt_to_bus_offset)
#define bus_to_virt(phys) ((void *) ((unsigned long) (phys) - \
virt_to_bus_offset))
#endif