summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--perl-install/detect_devices.pm7
-rw-r--r--perl-install/pkgs.pm1
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' :
'';