[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Compiling mesh.c



こんばんは。

私のマシンにはSCSIカードが刺さっていないので内蔵のMESHを動か
そうとしています。mesh_intrの引数がvoidでないためにmesh.cの
コンパイルでこけましたが以下の変更でコンパイルできました。

が、TARGET_MEM_FUNCTIONをdefineする必要があってegcsを作り直
しているので動くかどうかはまだ分かりません。

ところで、クロス環境でもインストールフロッピーは作れるのでしょ
うか?インストールフロッピー自体今まで作ったことがないんです。

--- mesh.c.orig	Tue Nov 10 06:52:17 1998
+++ mesh.c	Tue Nov 24 00:58:51 1998
@@ -165,7 +165,7 @@
 void mesh_start_data_xfer(mesh_softc_t, mesh_regmap_t, mesh_state_t);
 void mesh_end_transfer(mesh_softc_t, mesh_regmap_t, mesh_state_t);
 void mesh_get_status(mesh_softc_t, mesh_regmap_t, mesh_state_t);
-void mesh_intr(mesh_softc_t);
+void mesh_intr __P((void *));
 void mesh_end(mesh_softc_t, mesh_regmap_t, mesh_state_t);
 void mesh_process_msgin(mesh_softc_t, mesh_regmap_t, mesh_state_t);
 void mesh_disconnect(mesh_softc_t mesh, mesh_regmap_t, mesh_state_t);
@@ -273,7 +273,6 @@
 	mesh_scsi_cmd,
 	meshminphys,
 	NULL,
-	NULL,
 };
 
 struct scsipi_device mesh_dev = {
@@ -368,7 +367,7 @@
 	config_found(&mesh->sc_dev, &mesh->sc_link, scsiprint);
 
 	intr_establish(mesh->m_interrupt_number, IST_LEVEL, IPL_BIO,
-		mesh_intr, mesh);
+		(void *)mesh_intr, mesh);
 }
 
 /*
@@ -732,14 +731,16 @@
 }
 
 void
-mesh_intr(mesh)
-	mesh_softc_t	mesh;
+mesh_intr(arg)
+	void *arg;
 {
+	mesh_softc_t	mesh;
 	mesh_regmap_t	regs;
 	mesh_state_t	state;
 	unsigned char	int_status, exception, error, bus0status, bus1status;
 	int	i;
 
+	mesh = (mesh_softc_t)arg;
 	regs = mesh->m_regs;
 	state = mesh->m_current;