I think this is the message you were looking for.
  Russ

---------- Forwarded message ----------
Date: Tue, 27 Nov 2007 13:36:13 -0800
From: ron minnich <[EMAIL PROTECTED]>
To: LinuxBIOS <[EMAIL PROTECTED]>
Subject: [LinuxBIOS] Fwd: rdcmos

Here from the author (Eric Hendriks) are the tools to read and write cmos.

Thanks

ron
/*
 * $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);
}


/*
 *
 * $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);
}


-- 

linuxbios mailing list

[EMAIL PROTECTED]

http://www.linuxbios.org/mailman/listinfo/linuxbios
-- 
coreboot mailing list
coreboot@coreboot.org
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to