summaryrefslogtreecommitdiffstats
path: root/perl-install/detect_devices.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/detect_devices.pm')
-rw-r--r--perl-install/detect_devices.pm34
1 files changed, 33 insertions, 1 deletions
diff --git a/perl-install/detect_devices.pm b/perl-install/detect_devices.pm
index 40a1b8236..c8995ea82 100644
--- a/perl-install/detect_devices.pm
+++ b/perl-install/detect_devices.pm
@@ -54,6 +54,9 @@ sub floppies {
require modules;
state @fds;
state $legacy_already_detected;
+ if (arch =~ /mips/) {
+ $o_not_detect_legacy_floppies = 1;
+ }
if (!$o_not_detect_legacy_floppies && !$legacy_already_detected) {
$legacy_already_detected = 1;
eval { modules::load("floppy") if $::isInstall };
@@ -574,7 +577,14 @@ sub getSerialModem {
my ($modules_conf, $o_mouse) = @_;
my $mouse = $o_mouse || {};
$mouse->{device} = readlink "/dev/mouse";
- my $serdev = arch() =~ /ppc/ ? "macserial" : "serial";
+ my $serdev;
+ if (arch() =~ /ppc/) {
+ $serdev = "macserial";
+ } elsif (arch() =~ /mips/) {
+ $serdev = "8250";
+ } else {
+ $serdev = "serial";
+ }
eval { modules::load($serdev) };
my @modems;
@@ -1145,11 +1155,30 @@ sub BIGMEM() {
sub is_i586() {
my $cpuinfo = cat_('/proc/cpuinfo');
+ if (arch() !~ /86/) {
+ return 0;
+ }
$cpuinfo =~ /^cpu family\s*:\s*(\d+)/m && $1 < 6 ||
$cpuinfo =~ /^model name\s*:\s*Transmeta.* TM5800/m || # mdvbz#37866
!has_cpu_flag('cmov');
}
+sub is_mips_lemote() {
+ to_bool(cat_('/proc/cpuinfo') =~ /lemote/);
+}
+
+sub is_mips_ict() {
+ to_bool(cat_('/proc/cpuinfo') =~ /ict/);
+}
+
+sub is_mips_gdium() {
+ to_bool(cat_('/proc/cpuinfo') =~ /gdium/);
+}
+
+sub is_mips_st_ls2f() {
+ to_bool(cat_('/proc/cpuinfo') =~ /st-ls2f/);
+}
+
sub is_xbox() {
any { $_->{vendor} == 0x10de && $_->{id} == 0x02a5 } pci_probe();
}
@@ -1183,6 +1212,9 @@ sub has_cpu_flag {
sub matching_types() {
+{
+ mips_lemote => is_mips_lemote(),
+ mips_ict => is_mips_ict(),
+ mips_st_ls2f => is_mips_st_ls2f(),
laptop => isLaptop(),
'touchpad' => hasTouchpad(),
'64bit' => to_bool(arch() =~ /64/),