Hello community,
here is the log from the commit of package framebuffer
checked in at Thu Dec 7 20:11:57 CET 2006.
--------
--- framebuffer/framebuffer.changes 2006-01-25 21:46:23.000000000 +0100
+++ /mounts/work_src_done/STABLE/framebuffer/framebuffer.changes 2006-11-30 22:41:24.000000000 +0100
@@ -1,0 +2,6 @@
+Thu Nov 30 22:40:38 CET 2006 - sndirsch@suse.de
+
+- endless loop in frambuffer start script with dualhead, i.e. more
+ than one grafic card (Bug #191257)
+
+-------------------------------------------------------------------
Old:
----
framebuffer-2005.tar.bz2
New:
----
framebuffer-2006.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ framebuffer.spec ++++++
--- /var/tmp/diff_new_pack.U6MD6h/_old 2006-12-07 20:11:49.000000000 +0100
+++ /var/tmp/diff_new_pack.U6MD6h/_new 2006-12-07 20:11:49.000000000 +0100
@@ -1,24 +1,24 @@
#
-# spec file for package framebuffer (Version 2005)
+# spec file for package framebuffer (Version 2006)
#
-# Copyright (c) 2005 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
-# Please submit bugfixes or comments via http://www.suse.de/feedback/
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
Name: framebuffer
Url: http://nowhere.com
-License: Other License(s), see package, GPL
+License: GNU General Public License (GPL), Other License(s), see package
Group: System/X11/Utilities
Autoreqprov: on
-Version: 2005
-Release: 3
+Version: 2006
+Release: 1
PreReq: %insserv_prereq %fillup_prereq
-Summary: Perform the appropriate settings for the framebuffer device
+Summary: Make the Appropriate Settings for the Framebuffer Device
Source: %name-%version.tar.bz2
Source1: COPYING
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -41,10 +41,8 @@
%install
mkdir -p $RPM_BUILD_ROOT/etc/init.d \
- $RPM_BUILD_ROOT/usr/sbin \
- $RPM_BUILD_ROOT/var/adm/fillup-templates
+ $RPM_BUILD_ROOT/usr/sbin
install -m 755 framebufferset $RPM_BUILD_ROOT/etc/init.d
-install -m 644 sysconfig.framebuffer $RPM_BUILD_ROOT/var/adm/fillup-templates
ln -snf ../../etc/init.d/framebufferset $RPM_BUILD_ROOT/usr/sbin/rcframebufferset
cp $RPM_SOURCE_DIR/COPYING .
@@ -56,13 +54,25 @@
%doc README.framebuffer COPYING
/etc/init.d/framebufferset
/usr/sbin/rcframebufferset
-/var/adm/fillup-templates/*
%post
%{fillup_and_insserv -f -y framebufferset}
%{fillup_only -n framebuffer}
+if [ -f /etc/sysconfig/framebuffer ]; then
+ rm -f /etc/sysconfig/framebuffer
+fi
+/etc/init.d/framebufferset init > /dev/null 2>&1
+
+
+%postun
+if [ -f /etc/sysconfig/framebuffer ]; then
+ rm -f /etc/sysconfig/framebuffer
+fi
%changelog -n framebuffer
+* Thu Nov 30 2006 - sndirsch@suse.de
+- endless loop in frambuffer start script with dualhead, i.e. more
+ than one grafic card (Bug #191257)
* Wed Jan 25 2006 - mls@suse.de
- converted neededforbuild to BuildRequires
* Sun Oct 16 2005 - sndirsch@suse.de
++++++ framebuffer-2005.tar.bz2 -> framebuffer-2006.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/framebuffer-2005/README.framebuffer new/framebuffer-2006/README.framebuffer
--- old/framebuffer-2005/README.framebuffer 2005-09-27 21:56:39.000000000 +0200
+++ new/framebuffer-2006/README.framebuffer 2006-08-23 20:22:04.000000000 +0200
@@ -1,6 +1,6 @@
General information on package framebuffer
-Copyright Dieter Jurzitza / 2005 dieter.jurzitza@t-online.de
+Copyright Dieter Jurzitza / 2005, 2006 dieter.jurzitza@t-online.de
Please send bugs / suggestions / whatsoever to me directly.
This is a package to perform the appropriate settings for the framebuffer
@@ -39,26 +39,40 @@
size=XXX to the actual size of the graphics card's memory.
This package contains of a script entitled framebufferset. It parses at a first
-step the output of lspci for a string " VGA ". Then th e output is further
+step the output of lspci for the string " VGA ". Then the output is further
parsed for "Memory at " entries. Those lines are analyzed, the address values
-and the size values are taken out, but only if the size is in Megabytes.
+and the size values are taken out, but only if the size is in Megabytes or
+Gigabytes. Only lines not containing "disabled" strings are recognized.
-The reading ends as soon as an empty line is reached in the lspci-output.
+The reading is continued until the end of the lspci - output is reached. If
+multiple VGA - entries are found, they are parsed subsequentially and the
+parameters (base-address and memory-size) are stored in an array called
+RETVAL. The reading for an individual VGA-entry ends as soon as an empty line
+is reached in the lspci-output.
So we have a variable called RETVAL that contains a list of addresses /
memory sizes.
-In a next step the contents of /proc/mtrr is parsed to find the address entries
-we have stored in RETVAL (precisely in the even entries of RETVAL).
+The first entry of RETVAL, i. e. ${RETVAL[0]} contains twice the number of
+"Memory at" entries of the individual VGA-cards that have been detected in the
+system. This is due to the fact that each "Memory at" entry provides two
+values (address & memory size).
+
+In a next step the contents of /proc/mtrr is parsed to match the address entries
+we have stored in RETVAL (precisely in the odd entries of RETVAL).
If we find a corresponding line we (hopefully) know what to modify. The reg0X
-entry of that line is analyzed so we get the "X", and the base entry is set to
+entry of that line is parsed, to. So we get the "X", and the base entry is set to
the address we found to be related.
-The size entry is taken from the variable FRAMEBUFFERSIZE that may be
+The size entry is taken from the array - variable FRAMEBUFFERSIZE that may be
adjusted by yast2 -> System -> Edit for /etc/sysconfig-Files -> Hardware ->
Framebuffer -> Memory -> FRAMEBUFFERSIZE.
-I use an entry of 128 (M) there.
+At first start the array - variable is initialized with the values that have
+been found by lspci -v.
+
+I (personally) use an entry of 128 (M) there, knowing the memory size of my
+graphics card.
The script uses the previously determined values to perform the following
things:
@@ -81,5 +95,20 @@
No more error messages related to overlapping mtrr sizes can be found any more.
Further documentation can be taken from /usr/src/linux/Documentation/mtrr.txt.
+If the sizes in /proc/mtrr and in the output of lspci -v are identical, a
+corresponding message is printed. In case of an error the script exits prior
+to modifying /proc/mtrr. This is done to be at the save side.
+
+If you run into problems, simply delete the file /etc/sysconfig/framebuffer;
+in this case it will be regenerated from scratch. If the system
+configuration is changing, the file is regenerated, too and the original
+file is stored away in /usr/share/doc/packages/framebuffer, the current date
+is appended in order to separate the different backups.
+
There is NO warranty for this to function correctly, I tested it with a small
-number of devices with success.
+number of devices with success. The endless loop with more than one graphics
+card should be gone, the script is prepared now to handle an arbitrary
+number of graphics cards in parallel.
+
+
+Dieter Jurzitza / August 2006
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/framebuffer-2005/framebufferset new/framebuffer-2006/framebufferset
--- old/framebuffer-2005/framebufferset 2005-09-27 21:56:46.000000000 +0200
+++ new/framebuffer-2006/framebufferset 2006-09-02 14:45:45.000000000 +0200
@@ -1,5 +1,7 @@
#!/bin/sh
-# Copyright (c) 2005 Dieter Jurzitza, Germany.
+# Copyright (c) 2005, 2006 Dieter Jurzitza, Germany.
+#
+# updated to handle arbitrary numbers of graphics cards in the PC: August 2006
#
# Author: Dr. Ing. Dieter Jurzitza
#
@@ -22,14 +24,13 @@
# some variables we need in the script
AWK=/bin/awk
-SED=/bin/sed
-GREP=/bin/grep
CAT=/bin/cat
LSPCI="/sbin/lspci"
LSPCIOPTS="-v"
MTRR="/proc/mtrr"
CONFIGFILE=/etc/sysconfig/framebuffer
+DOCPATH=/usr/share/doc/packages/framebuffer
declare -a RETVAL
declare -a RESULT
@@ -37,105 +38,268 @@
# First reset status of this service
rc_reset
-echo -n "Verify the apropriate mtrr setting"
-if [ ! -f ${MTRR} ]; then
- echo -n " ${MTRR} not found "
- echo "${rc_failed}"
- exit 1
-fi
-
-if [ ! -f ${CONFIGFILE} ];then
- echo -n " ${CONFIGFILE} not found "
- echo "${rc_failed}"
- exit 2
-fi
-
-# source config file
-. ${CONFIGFILE}
-
-# Analyze the output of lspci with regard to the graphics card's attributes. We search for " VGA ". Having found this
-# we search for the String "Memory at ", what in turn gives the address value. K-Byte values (/K/) are ignored.
-# For everything valid we get a printout 0xBASEADDR MEMSZ, what gets stored into RETVAL. num is our eventcounter: each
-# time we find a valid Memory entry num is increased by two. At the very end we print num. So our array contains pairs of
-# addresses and memory sizes until the last value which represents the total size of the array RETVAL.
-# The final sed removes the [size= XXX] from the actual XXX-size values.
-
-RETVAL=(`${LSPCI} ${LSPCIOPTS} |\
- ${AWK} '{if (match($0, " VGA ")){ \
- num=0; \
- A=getline; \
- while(A != ""){ \
- if (match(A, "Memory at ")){ \
- split(A,B, " "); \
- sub(/M/, "", B[6]); \
- if (sub(/K/, "", B[6])){ \
- break; \
- } \
- printf("0x%s %s ", B[3], B[6]); \
- num+=2; \
- }; \
- getline A; \
- } \
- printf(" %d END", num); \
- } \
- }' | \
-sed 's/\[size=//g; s/\]//g'`)
-
-#
-# Now let us search for the END entry in RETVAL[i]. END marks the end of the array. Since the mtrr's cannot be that many ones we
-# do not search for more than 100 entries (will never be reached).
-#
-for (( i=0 ; $i != 100 ; i=`expr $i + 1` )) ; do
- if [ "${RETVAL[$i]}" = "END" ]; then
- if [ $i != "0" ]; then
- i=`expr $i - 1`;
- fi
- break;
- fi
-done
-
-# Now we have to look into $MTRR. There are settings for the graphics card we find by looking at the address values.
-# Those addresses that are identical to the ones from the graphics card are the ones we need.
-# However, one cannot rely on the return value for memory of lspci. Therefore we introduced an environment variable
-# defined in /etc/sysconfig/framebuffer that needs to be set by the user. It is called FRAMEBUFFERSIZE and can have values
-# from 16 to 2048 [MB].
-
-for (( j=0 ; "$j" != "$i" ; j=`expr $j + 2` )) ; do
- RESULT=(`${CAT} ${MTRR} | ${GREP} ${RETVAL[$j]} | $SED 's/://g; s/[a-z]//g; s/[A-Z]//g' | ${AWK} '{printf("%d %d", $1, $5)}'`)
- if [ "${RESULT[1]}" != "${RETVAL[`expr $j + 1`]}" ]; then
- if [ "${FRAMEBUFFERSIZE}" = "16" ]; then
- MEMSIZE=1000000
- elif [ "${FRAMEBUFFERSIZE}" = "32" ]; then
- MEMSIZE=2000000
- elif [ "${FRAMEBUFFERSIZE}" = "64" ]; then
- MEMSIZE=4000000
- elif [ "${FRAMEBUFFERSIZE}" = "128" ]; then
- MEMSIZE=8000000
- elif [ "${FRAMEBUFFERSIZE}" = "256" ]; then
- MEMSIZE=10000000
- elif [ "${FRAMEBUFFERSIZE}" = "512" ]; then
- MEMSIZE=20000000
- elif [ "${FRAMEBUFFERSIZE}" = "1024" ]; then
- MEMSIZE=40000000
- elif [ "${FRAMEBUFFERSIZE}" = "2048" ]; then
- MEMSIZE=80000000
- else
- MEMSIZE=INVALID
- fi
- fi
-
- if [ "${MEMSIZE}" != "INVALID" -a "${MEMSIZE}" != "" ]; then
- echo "disable=${RESULT[0]}" > ${MTRR}
- echo "base=${RETVAL[$j]} size=0x${MEMSIZE} type=write-combining" > ${MTRR}
- echo "${rc_done}"
- fi
-done
-
-if [ "${MEMSIZE}" = "INVALID" ]; then
- echo -n " no valid memory size has been found!"
- echo ${rc_failed}
-elif [ "${MEMSIZE}" = "" ]; then
- echo -n " nothing to do on this system, sizes are identical!"
- echo "${rc_done}"
-fi
+###################################### START FUNCTION DECLARATIONS ######################################
+function checkmtrr(){
+ if [ ! -f ${MTRR} ]; then
+ echo -n " ${MTRR} not found "
+ echo "$rc_failed"
+ return 1
+ fi
+}
+
+function makeconfigfile (){
+ TMPNAME=`mktemp /tmp/RETVALBUF.XXXXXXXXXXXXXXXX`
+ for ((i=1; i<${RETVAL[0]}; i+=2)); do
+ if [ "1" != "$i" ]; then
+ echo -n " " >> ${TMPNAME}
+ fi
+ echo -n "${RETVAL[$i]}" >> ${TMPNAME}
+ done
+ echo "## Path: Hardware/Framebuffer/Memory" > ${CONFIGFILE}
+ echo "## Description: Framebuffer-sizes" >> ${CONFIGFILE}
+ echo "## Type: string" >> ${CONFIGFILE}
+ echo "##" >> ${CONFIGFILE}
+ echo "## DO NEVER CHANGE THE NEXT ENTRY MANUALLY" >> ${CONFIGFILE}
+ echo "## INITSTRING=${INITSTRING}" >> ${CONFIGFILE}
+ echo "## DO NEVER CHANGE THE PREVIOUS ENTRY MANUALLY" >> ${CONFIGFILE}
+ echo "##" >> ${CONFIGFILE}
+ echo "# The size of the framebuffer memory in Megabyte we want to allocate in /proc/mtrr" >> ${CONFIGFILE}
+ echo "# This can vary between 16 and 16384 (MB) in factors of 2 (16,32,64 ... 16384) for value a, b, c ..." >> ${CONFIGFILE}
+ echo "# Prior to changing anything you SHOULD take a look into" >> ${CONFIGFILE}
+ echo "# /usr/share/doc/packages/framebuffer/README.framebuffer" >> ${CONFIGFILE}
+ echo "# Entries of "-1" mean that there are unused indexes of memory ranges in /proc/mtrr" >> ${CONFIGFILE}
+ echo "# Entries of "NOVGA" refer to blocks that are not related to a VGA card within /proc/mtrr." >> ${CONFIGFILE}
+ echo "# Only entries that belong to a VGA card may be changed." >> ${CONFIGFILE}
+ echo "#" >> ${CONFIGFILE}
+ # This AWK-script generates the FRAMEBUFFERSIZE-Entry in our configfile
+ ${AWK} -v infile=${TMPNAME} '{ \
+ getline line < infile; \
+ printf("FRAMEBUFFERSIZE=\""); \
+ max=0; \
+ do { \
+ baseaddr=$2; \
+ gsub(/[^0-9 ]/, "", $0); \
+ i=$1+0; \
+ num[i]=i; \
+ if (match(line, baseaddr)){ \
+ memsize[i]=$4; \
+ } \
+ else { \
+ memsize[i]="NOVGA"; \
+ } \
+ if( i > max){max=i;} \
+ } while (getline >0 ); \
+ for (i=0; i<=max; i++){ \
+ if (""==num[i]){ \
+ num[i]=i; \
+ memsize[i]="-1"; \
+ } \
+ if (max != i){ \
+ printf("%s ", memsize[i]); \
+ } \
+ else { \
+ printf("%s\"\n", memsize[i]); \
+ } \
+ } \
+ }' ${MTRR} >> ${CONFIGFILE}
+ rm -f ${TMPNAME}
+}
+
+# check whether the configfile exists, if so read it and check whether there was a change in configuration - then we have to recreate it
+function checkconfigfile () {
+ # This is for the initial setup of the configfile
+ if [ ! -f ${CONFIGFILE} ]; then
+ echo -n " ${CONFIGFILE} does not exist - create new one .."
+ makeconfigfile
+ echo -n ".. done "
+ echo "$rc_failed"
+ return 1
+ fi
+
+ # ok - we have it - source it!
+ . ${CONFIGFILE}
+
+ # check whether the current configuration as returned by () and the configuration in the configfile are identical.
+ CURRSTRING=`cat ${CONFIGFILE} | \
+ ${AWK} '{ \
+ if (sub("## INITSTRING=", "", $0)){ \
+ printf("%s", $0); \
+ } \
+ }'`
+
+ if [ "${INITSTRING}" != "${CURRSTRING}" ]; then
+ echo -n " PCI-bus config changed .."
+ FILENAME=`basename ${CONFIGFILE}`
+ FILENAME=${FILENAME}-`date +%H.%M-%d.%m.%Y`.save
+ echo -n "... saving ${CONFIGFILE} to ${DOCPATH}/${FILENAME} .."
+ cp -p ${CONFIGFILE} ${DOCPATH}/${FILENAME}
+ echo -n ".. ready .."
+ echo -n ".. creating new configfile .."
+ makeconfigfile
+ echo -n ".. done "
+ echo "$rc_failed"
+ return 1
+ fi
+}
+
+function fillarray (){
+ # Analyze the output of lspci with regard to the graphics card's attributes. We search for " VGA ". Having found this
+ # we search for the String "Memory at ", what in turn gives the address value. K-Byte values (/K/) are ignored.
+ # For everything valid we get a printout 0xBASEADDR MEMSZ, what gets stored into RETVAL. num is our eventcounter: each
+ # time we find a valid Memory entry num is increased twice. At the very end we assign data[0] the value of num. So our
+ # array contains pairs of addresses and memory sizes starting off 1, whereas arrayindex 0 tells us how many entries to
+ # expect within the array.
+ RETVAL=(`${LSPCI} ${LSPCIOPTS} | ${AWK} '{ \
+ num=0; \
+ A=$0; \
+ # read until the end of the input file
+ do { \
+ if (match(A, " VGA ")){ \
+ # if we found " VGA " things get interesting
+ if ((getline A) <= 0){exit}; \
+ # a blank line is signalizing the end of a description block of lspci!
+ while(A != ""){ \
+ if (match(A, "Memory at ")){ \
+ split(A,B, " "); \
+ if ((sub(/K/, "", B[6]))||(match(B[6], "disabled"))) { \
+ break; \
+ }; \
+ # here we assume MByte to be defined.
+ if (match (B[6], "M]")){ \
+ gsub(/[^0-9]/, "", B[6]); \
+ num++; \
+ data[num]="base=0x"B[3]; \
+ num++; \
+ data[num]=B[6]; \
+ }; \
+ # This one cares for GByte.
+ if (match (B[6], "G]")){ \
+ gsub(/[^0-9]/, "", B[6]); \
+ num++; \
+ data[num]="base=0x"B[3]; \
+ num++; \
+ data[num]=B[6]*1024; \
+ }; \
+ }; \
+ if ((getline A) <= 0){exit;}; \
+ }; \
+ }; \
+ } while ((getline A) > 0); \
+ # data[0] contains information how many entries we have found!
+ data[0]=num; \
+ # print the entire array so it is available in the script "above"
+ for (i=0; i<=num; i++){ \
+ printf("%s ", data[i]); \
+ } \
+ printf("\n"); \
+ }'`)
+ # Here we store what can be seen within lspci into INITSTRING. As long as this entry remains constant, we can be sure
+ # that nothing in hardware has changed and the script is working properly.
+ INITSTRING=""
+ for ((i=1; i<=${RETVAL[0]}; i++)); do
+ INITSTRING=${INITSTRING}"${RETVAL[i]} "
+ i=`expr $i + 1`
+ INITSTRING=${INITSTRING}"${RETVAL[$i]} "
+ done
+}
+
+###################################### END FUNCTION DECLARATIONS ######################################
+
+case $1 in
+ start)
+ echo -n "Verify the apropriate mtrr setting"
+ # watch the sequence of function calls!
+ checkmtrr || exit 1
+ fillarray
+ checkconfigfile || exit 1
+ . ${CONFIGFILE}
+ # This is needed because SUSE cannot handle arrays in the /etc/sysconfig - files. The format of the
+ # variable FRAMEBUFFERSIZE must be adapted to what it should be!
+ eval FRAMEBUFFERSIZE=(${FRAMEBUFFERSIZE})
+
+ #
+ # Now we have to look into $MTRR. There are settings for the graphics card we find by looking at the address values.
+ # Those addresses that are identical to the ones from the graphics card are the ones we need.
+ # However, one cannot rely on the return value for memory of lspci. Therefore we introduced an environment variable Array
+ # defined in /etc/sysconfig/framebuffer that needs to be set by the user. It is called FRAMEBUFFERSIZE[i] and can have values
+ # from 16 to 16384 [MB] for each index.
+ #
+ # If we find an entry in /proc/mtrr that corresponds to an entry we got out of lspci, we check whether the settings in
+ # in out of lspci differ from those in /proc/mtrr. If that would be the case, we modify the mtrr settings in accordance
+ # with what is defined in the setting for FRAMEBUFFERSIZE[i]
+ #
+
+ # initializations:
+ MEMERR="FALSE"
+ MEMVALID="FALSE"
+
+ for (( j=1 ; $j <= ${RETVAL[0]} ; j=`expr $j + 2` )) ; do
+ RESULT=(`$CAT $MTRR | ${AWK} -v cmp="${RETVAL[$j]}" '{if (cmp==$2){gsub(/[^0-9 ]/, "", $0); printf("%d %d", $1, $4)}}'`)
+ # if RESULT is empty, put defaults into it.
+ if [ "" = "${RESULT[0]}" ]; then
+ RESULT[0]=-1
+ RESULT[1]=-1
+ fi
+ if [ "${RESULT[1]}" != "${RETVAL[`expr $j + 1`]}" -a "${RESULT[0]}" != "-1" ]; then
+ if [ "${FRAMEBUFFERSIZE[${RESULT[0]}]]}" = "16" ]; then
+ MEMSIZE=1000000
+ elif [ "${FRAMEBUFFERSIZE[${RESULT[0]}]]}" = "32" ]; then
+ MEMSIZE=2000000
+ elif [ "${FRAMEBUFFERSIZE[${RESULT[0]}]]}" = "64" ]; then
+ MEMSIZE=4000000
+ elif [ "${FRAMEBUFFERSIZE[${RESULT[0]}]]}" = "128" ]; then
+ MEMSIZE=8000000
+ elif [ "${FRAMEBUFFERSIZE[${RESULT[0]}]]}" = "256" ]; then
+ MEMSIZE=10000000
+ elif [ "${FRAMEBUFFERSIZE[${RESULT[0]}]]}" = "512" ]; then
+ MEMSIZE=20000000
+ elif [ "${FRAMEBUFFERSIZE[${RESULT[0]}]]}" = "1024" ]; then
+ MEMSIZE=40000000
+ elif [ "${FRAMEBUFFERSIZE[${RESULT[0]}]]}" = "2048" ]; then
+ MEMSIZE=80000000
+ elif [ "${FRAMEBUFFERSIZE[${RESULT[0]}]]}" = "4096" ]; then
+ MEMSIZE=100000000
+ elif [ "${FRAMEBUFFERSIZE[${RESULT[0]}]]}" = "8192" ]; then
+ MEMSIZE=200000000
+ elif [ "${FRAMEBUFFERSIZE[${RESULT[0]}]]}" = "16384" ]; then
+ MEMSIZE=400000000
+ else
+ MEMSIZE=INVALID
+ MEMERR=TRUE
+ fi
+ else
+ MEMSIZE=""
+ fi
+
+ if [ "${MEMSIZE}" != "INVALID" -a "${MEMSIZE}" != "" ]; then
+ MEMVALID=TRUE
+ echo "disable=${RESULT[0]}" > ${MTRR}
+ echo "${RETVAL[$j]} size=0x${MEMSIZE} type=write-combining" > ${MTRR}
+ echo "$rc_done"
+ fi
+ done
+
+ if [ "${MEMERR}" = "TRUE" ]; then
+ echo -n " ${attn}found one wrong memsize at last!${norm}"
+ echo $rc_failed
+ elif [ "${MEMVALID}" = "FALSE" ]; then
+ echo -n " ${attn}nothing to do, sizes are equal!${norm}"
+ echo "$rc_done"
+ else
+ echo "$rc_done"
+ fi
+ ;;
+ stop)
+ echo -n "Shut down mtrr setting (do nothing)"
+ echo "$rc_done"
+ ;;
+ init)
+ fillarray
+ makeconfigfile
+ ;;
+ *)
+ echo -n "Usage: $0 {start|stop}"
+ echo "$rc_done"
+ ;;
+esac
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/framebuffer-2005/sysconfig.framebuffer new/framebuffer-2006/sysconfig.framebuffer
--- old/framebuffer-2005/sysconfig.framebuffer 2005-09-27 21:56:50.000000000 +0200
+++ new/framebuffer-2006/sysconfig.framebuffer 1970-01-01 01:00:00.000000000 +0100
@@ -1,10 +0,0 @@
-## Path: Hardware/Framebuffer/Memory
-## Description: Framebuffer-sizes
-## Type: string()
-##
-
-# The size of the framebuffer memory in Megabyte we want to allocate in /proc/mtrr
-# This can vary between 16 and 2048 (MB) in factors of 2 (16,32,64 ... 2048)
-#
-# FRAMEBUFFERSIZE="128"
-FRAMEBUFFERSIZE=""
\ No newline at end of file
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org