summaryrefslogtreecommitdiffstats
path: root/loader2
diff options
context:
space:
mode:
authorPaul Nasrat <pnasrat@redhat.com>2007-04-27 11:21:07 +0000
committerPaul Nasrat <pnasrat@redhat.com>2007-04-27 11:21:07 +0000
commit1e75e457e001d4ba6fd1c46adce852a99276bc11 (patch)
treee68a16911ac3cbc515d94d4ad100f456bd16c85d /loader2
parent69fdf4d7e19ec209b8f9e4e6b0c680dbe286dcee (diff)
downloadanaconda-1e75e457e001d4ba6fd1c46adce852a99276bc11.tar.gz
anaconda-1e75e457e001d4ba6fd1c46adce852a99276bc11.tar.xz
anaconda-1e75e457e001d4ba6fd1c46adce852a99276bc11.zip
Load spufs module on cell (#237725) and remove spufs hack as we should do the
right thing now.
Diffstat (limited to 'loader2')
-rw-r--r--loader2/hardware.c24
-rw-r--r--loader2/hardware.h2
-rw-r--r--loader2/loader.c1
3 files changed, 27 insertions, 0 deletions
diff --git a/loader2/hardware.c b/loader2/hardware.c
index b22d124b1..72d8ce3cc 100644
--- a/loader2/hardware.c
+++ b/loader2/hardware.c
@@ -318,3 +318,27 @@ void dasdSetup(moduleList modLoaded, moduleDeps modDeps,
#endif
}
+void spufsSetup(moduleList modLoaded, moduleDeps modDeps,
+ moduleInfoSet modInfo) {
+#if !defined(__powerpc__)
+ return;
+#else
+ FILE *fd;
+ fd = fopen("/proc/cpuinfo", "r");
+ if(fd) {
+ char buf[1024];
+ while (fgets(buf, 1024, f) != NULL) {
+ if(!strncmp(buf, "cpu\t\t:", 5)) {
+ if(strstr(buf, "Cell")) {
+ mlLoadModule("spufs", modLoaded, modDeps, modInfo, NULL);
+ break;
+ }
+ }
+ }
+ fclose(fd);
+ return;
+ } else {
+ return;
+ }
+#endif
+}
diff --git a/loader2/hardware.h b/loader2/hardware.h
index 5da7bf6b5..7014cf80d 100644
--- a/loader2/hardware.h
+++ b/loader2/hardware.h
@@ -23,4 +23,6 @@ void dasdSetup(moduleList modLoaded, moduleDeps modDeps,
void ipv6Setup(moduleList modLoaded, moduleDeps modDeps,
moduleInfoSet modInfo);
+void spufsSetup(moduleList modLoaded, moduleDeps modDeps,
+ moduleInfoSet modInfo);
#endif
diff --git a/loader2/loader.c b/loader2/loader.c
index cc353ca59..1b8d6c8b5 100644
--- a/loader2/loader.c
+++ b/loader2/loader.c
@@ -1535,6 +1535,7 @@ int main(int argc, char ** argv) {
ideSetup(modLoaded, modDeps, modInfo);
scsiSetup(modLoaded, modDeps, modInfo);
dasdSetup(modLoaded, modDeps, modInfo);
+ spufsSetup(modLoaded, modDeps, modInfo);
/* Note we *always* do this. If you could avoid this you could get
a system w/o USB keyboard support, which would be bad. */