diff options
-rw-r--r-- | perl-install/detect_devices.pm | 7 | ||||
-rw-r--r-- | perl-install/pkgs.pm | 1 |
2 files changed, 6 insertions, 2 deletions
diff --git a/perl-install/detect_devices.pm b/perl-install/detect_devices.pm index 0877f109a..1561fc9bb 100644 --- a/perl-install/detect_devices.pm +++ b/perl-install/detect_devices.pm @@ -860,8 +860,11 @@ sub BIGMEM() { sub is_i586() { my $cpuinfo = cat_('/proc/cpuinfo'); $cpuinfo =~ /^cpu family\s*:\s*(\d+)/m && $1 < 6 || - $cpuinfo !~ /^flags.*\bcmov\b/m || - $cpuinfo !~ /^flags.*\bpae\b/m; + !has_cpu_flag('cmov'); +} +sub has_cpu_flag { + my ($flag) = @_; + cat_('/proc/cpuinfo') =~ /^flags.*\b$flag\b/m; } sub matching_type { diff --git a/perl-install/pkgs.pm b/perl-install/pkgs.pm index 4f2a983e5..3bd80fdd7 100644 --- a/perl-install/pkgs.pm +++ b/perl-install/pkgs.pm @@ -207,6 +207,7 @@ sub bestKernelPackage { my @prefered_exts = is_xbox() ? '-xbox' : detect_devices::is_i586() ? '-i586-up-1GB' : + !detect_devices::has_cpu_flag('pae') ? '-i686-up-4GB' : detect_devices::BIGMEM() ? ('-enterprise', '-smp') : detect_devices::hasSMP() ? '-smp' : ''; |