/dev/nvram useable?
ron minnich
rminnich at lanl.gov
Mon Sep 22 09:49:00 CEST 2003
this these.
ron
-------------- next part --------------
/*
* $Id: rdcmos.c,v 1.1 1998/09/24 21:08:20 hendriks Exp $
*/
#include <stdio.h>
#include <unistd.h>
#include <errno.h>
#include <asm/io.h>
static inline
unsigned char readreg(int regno) {
outb(regno, 0x70);
return inb(0x71);
}
static inline
void writereg(int regno, unsigned char val) {
outb(regno, 0x70);
outb(val, 0x71);
}
unsigned char data[128];
int main(int argc, char *argv[]) {
int i;
if (ioperm(0x70, 2, 1) == -1) {
perror("ioperm");
exit(1);
}
for (i=0; i < 128; i++) data[i] = readreg(i);
write(STDOUT_FILENO, data, sizeof(data));
exit(0);
}
-------------- next part --------------
/*
*
* $Id: wrcmos.c,v 1.1 1998/09/24 21:08:20 hendriks Exp $
*/
#include <stdio.h>
#include <unistd.h>
#include <errno.h>
#include <asm/io.h>
static inline
unsigned char readreg(int regno) {
outb(regno, 0x70);
return inb(0x71);
}
static inline
void writereg(int regno, unsigned char val) {
outb(regno, 0x70);
outb(val, 0x71);
}
unsigned char data[128];
int main(int argc, char *argv[]) {
int i;
if (ioperm(0x70, 2, 1) == -1) {
perror("ioperm");
exit(1);
}
read(STDIN_FILENO, data, sizeof(data));
for (i=0; i < 128; i++) writereg(i, data[i]);
exit(0);
}
More information about the coreboot
mailing list