void __init prom_init(void)
{
	int argc = fw_arg0;
	u32 *argv = (u32 *)CKSEG0ADDR(fw_arg1);
	int i;

	sni_mem_init();

	/* copy prom cmdline parameters to kernel cmdline */
	for (i = 1; i < argc; i++) {
		strcat(arcs_cmdline, (char *)CKSEG0ADDR(argv[i]));
		if (i < (argc - 1))
			strcat(arcs_cmdline, " ");
	}
}
Example #2
0
void __init prom_init(void)
{
	int argc = fw_arg0;
	char **argv = (void *)fw_arg1;
	unsigned int sni_brd_type = *(unsigned char *) SNI_IDPROM_BRDTYPE;
	int i;

	DBG_PRINTF("Found SNI brdtype %02x\n", sni_brd_type);

#ifdef DEBUG
	sni_idprom_dump();
#endif
	sni_mem_init();

	/* copy prom cmdline parameters to kernel cmdline */
	for (i = 1; i < argc; i++) {
		strcat(arcs_cmdline, argv[i]);
		if (i < (argc - 1))
			strcat(arcs_cmdline, " ");
	}
}
Example #3
0
void __init prom_init(void)
{
	int argc = fw_arg0;
	char **argv = (void *)fw_arg1;
	int i;
	int cputype;

	sni_brd_type = *(unsigned char *)SNI_IDPROM_BRDTYPE;
	cputype = *(unsigned char *)SNI_IDPROM_CPUTYPE;
	switch (sni_brd_type) {
	case SNI_BRD_TOWER_OASIC:
	        switch (cputype) {
		case SNI_CPU_M8030:
		        systype = "RM400-330";
		        break;
		case SNI_CPU_M8031:
		        systype = "RM400-430";
		        break;
		case SNI_CPU_M8037:
		        systype = "RM400-530";
		        break;
		case SNI_CPU_M8034:
		        systype = "RM400-730";
		        break;
		default:
			systype = "RM400-xxx";
			break;
		}
	        break;
	case SNI_BRD_MINITOWER:
	        switch (cputype) {
		case SNI_CPU_M8021:
		case SNI_CPU_M8043:
		        systype = "RM400-120";
		        break;
		case SNI_CPU_M8040:
		        systype = "RM400-220";
		        break;
		case SNI_CPU_M8053:
		        systype = "RM400-225";
		        break;
		case SNI_CPU_M8050:
		        systype = "RM400-420";
		        break;
		default:
			systype = "RM400-xxx";
			break;
		}
	        break;
	case SNI_BRD_PCI_TOWER:
	        systype = "RM400-Cxx";
	        break;
	case SNI_BRD_RM200:
	        systype = "RM200-xxx";
	        break;
	case SNI_BRD_PCI_MTOWER:
	        systype = "RM300-Cxx";
	        break;
	case SNI_BRD_PCI_DESKTOP:
	        switch (read_c0_prid() & 0xff00) {
		case PRID_IMP_R4600:
		case PRID_IMP_R4700:
		        systype = "RM200-C20";
		        break;
		case PRID_IMP_R5000:
		        systype = "RM200-C40";
		        break;
		default:
		        systype = "RM200-Cxx";
		        break;
		}
	        break;
	case SNI_BRD_PCI_TOWER_CPLUS:
	        systype = "RM400-Exx";
	        break;
	case SNI_BRD_PCI_MTOWER_CPLUS:
	        systype = "RM300-Exx";
	        break;
	}
	pr_debug("Found SNI brdtype %02x name %s\n", sni_brd_type,systype);

#ifdef DEBUG
	sni_idprom_dump();
#endif
	sni_mem_init();
	sni_console_setup();

	/* copy prom cmdline parameters to kernel cmdline */
	for (i = 1; i < argc; i++) {
		strcat(arcs_cmdline, argv[i]);
		if (i < (argc - 1))
			strcat(arcs_cmdline, " ");
	}
}