diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 1999-10-04 20:41:28 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 1999-10-04 20:41:28 +0000 |
commit | 19ca7978a660fd325d9a6b25f3dd964f81fe8b19 (patch) | |
tree | a06262aa2dafe8d981dcb9d7287bd1643526664f /c/src/lib/libbsp/powerpc/mvme2307/nvram/nvram.c | |
parent | The fiels isatty.c and creat.c were copied from newlib/libc/posix to (diff) | |
download | rtems-19ca7978a660fd325d9a6b25f3dd964f81fe8b19.tar.bz2 |
Motorola MVME2307 BSP submitted by Jay Kulpinski <jskulpin@eng01.gdds.com>.
No modifications made.
Diffstat (limited to 'c/src/lib/libbsp/powerpc/mvme2307/nvram/nvram.c')
-rw-r--r-- | c/src/lib/libbsp/powerpc/mvme2307/nvram/nvram.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/powerpc/mvme2307/nvram/nvram.c b/c/src/lib/libbsp/powerpc/mvme2307/nvram/nvram.c new file mode 100644 index 0000000000..124f81eada --- /dev/null +++ b/c/src/lib/libbsp/powerpc/mvme2307/nvram/nvram.c @@ -0,0 +1,25 @@ +#include <bsp.h> + +#define ram_addr_low (* (volatile char *) IO_TO_LOCAL(0x0074)) +#define ram_addr_high (* (volatile char *) IO_TO_LOCAL(0x0075)) +#define ram_data (* (volatile char *) IO_TO_LOCAL(0x0077)) +#define ram_end_addr 0x1ff8 + +int read_nvram(char *buff, int offset, int len) { + int i; + + if (offset < 0 || offset >= ram_end_addr) { + return 0; + } + if (offset + len > ram_end_addr) { + len = ram_end_addr - offset; + } + for (i = 0; i < len; i++) { + ram_addr_high = offset >> 8; + ram_addr_low = offset; + *buff++ = ram_data; + offset++; + } + return len; +} + |