-#if MACH == MP1000
-
-static int
-mp1000_check_checksum(void)
-{
- int i;
- unsigned short sum = 0;
- unsigned short expect;
-
- for (i = MP1000_CKS_RANGE_START; i <= MP1000_CKS_RANGE_END; ++i)
- sum += __nvram_read_byte(i);
-
- expect = __nvram_read_byte(MP1000_CKS_LOC+1)<<8 |
- __nvram_read_byte(MP1000_CKS_LOC);
- return ((sum & 0xffff) == expect);
-}
-
-static void
-mp1000_set_checksum(void)
-{
- int i;
- unsigned short sum = 0;
-
- for (i = MP1000_CKS_RANGE_START; i <= MP1000_CKS_RANGE_END; ++i)
- sum += __nvram_read_byte(i);
- __nvram_write_byte(sum >> 8, MP1000_CKS_LOC + 1);
- __nvram_write_byte(sum & 0xff, MP1000_CKS_LOC);
-}
-
-#ifdef CONFIG_PROC_FS
-
-#define SERVER_N_LEN 32
-#define PATH_N_LEN 32
-#define FILE_N_LEN 32
-#define NVRAM_MAGIC_SIG 0xdead
-
-typedef struct NvRamImage
-{
- unsigned short int magic;
- unsigned short int mode;
- char fname[FILE_N_LEN];
- char path[PATH_N_LEN];
- char server[SERVER_N_LEN];
- char pad[12];
-} NvRam;
-
-static int
-mp1000_proc_infos(unsigned char *nvram, char *buffer, int *len,
- off_t *begin, off_t offset, int size)
-{
- int checksum;
- NvRam* nv = (NvRam*)nvram;
-
- spin_lock_irq(&rtc_lock);
- checksum = __nvram_check_checksum();
- spin_unlock_irq(&rtc_lock);
-
- PRINT_PROC("Checksum status: %svalid\n", checksum ? "" : "not ");
-
- switch( nv->mode )
- {
- case 0 :
- PRINT_PROC( "\tMode 0, tftp prompt\n" );
- break;
- case 1 :
- PRINT_PROC( "\tMode 1, booting from disk\n" );
- break;
- case 2 :
- PRINT_PROC( "\tMode 2, Alternate boot from disk /boot/%s\n", nv->fname );
- break;
- case 3 :
- PRINT_PROC( "\tMode 3, Booting from net:\n" );
- PRINT_PROC( "\t\t%s:%s%s\n",nv->server, nv->path, nv->fname );
- break;
- default:
- PRINT_PROC( "\tInconsistant nvram?\n" );
- break;
- }
-
- return 1;
-}
-#endif
-
-#endif /* MACH == MP1000 */
-