$ Copyright 2002-2003 Sun Microsystems, Inc.  All rights reserved.
$ Use is subject to license terms.

$ #pragma	ident	"@(#)ramtest.msg	1.19	03/06/11	SMI"




$ VERBOSE          1 - 1999
$ INFO          2000 - 3999 (also used for LOGFILE and CONSOLE messages)
$ WARNING       4000 - 5999
$ ERROR         6000 - 7999
$ FATAL         8000 - 9999





$ --------------------------------------------------
$ VERBOSE          1 - 1999
$ --------------------------------------------------

1	"Option String : %s"
2	"Thread No. %d is bound to processor %d"
3	"%lld MB total physical memory detected."
6	"Starting ECC error Monitor."
7	"Could not open file %s, for reading ECC monitor configuration : %s"
8	"Since no config files were present, default keywords will be used to determine an ECC error"
10	"Using Column Stride"
11	"Using Row Stride"
12	"Requested virtual memory size = %lu MB"

19	"Allocated virtual memory Size = %llu MB (%.2f%% of total physical memory), at Virtual Address 0x%p"
20	"Allocated virtual memory Size = %lu MB at Virtual Address 0x%p"

23	"Starting %s loop %d"
24	"Done %s loop %d"
25	"Thread %d, startAddress = %p, testSize = %ld Interleave = %ld"
26	"%s cpu detected"


30	"Starting pass %d"
31	"Done pass %d"







$ --------------------------------------------------
$ INFO          2000 - 3999 (also used for LOGFILE and CONSOLE messages)
$ --------------------------------------------------


2001	\nECC error summary (After reaching the Threshold)\n\
Found %d new ECC errors during the current pass\n\
Will Terminate ramtest instance#%d through pass#%d\n\
ramtest continue to run if run_on_error! is set system wide\n\n\t%s
2002	\nSummary of New ECC errors found while completing pass# %d \
(instance %d)
2003	"Found %d persistent ECC errors on %s"
2004	"Found %d sticky ECC errors on %s"
2005	"Found %d intermittent ECC errors on %s"
2006	"Found %d ECC errors on %s "




$ DEBUG

2020	"Thread %d, Step 1: Initialize by writing the background pattern (Forward direction)"
2021	"Thread %d, Step 2: Read & write complement moving forward"
2022	"Thread %d, Step 3: Read Backward"
2023	"Thread %d, Step 4: Read & Write original pattern moving Forward"
2024	"Thread %d, Step 5: Read Backward"
2025	"Thread %d, Step 6: Read & write complement moving backward"
2026	"Thread %d, Step 7: Read in forward direction"
2027	"Thread %d, Step 8: Read & write backward"
2028	"Thread %d, Step 9: Read in forward direction"
2029	"Thread %d, Step 10: Read, write & then complement in forward direction"
2030	"Thread %d, Step 11: Read backward"
2031	"Thread %d, Step 12: Read, write complement and then flip in backward direction"
2032	"Thread %d, Step 13: Read in forward direction"
2033	"Thread %d, Step 14: Reset, with complement pattern"
2034	"Thread %d, Step 15: Read, write followed by write complement in forward direction"
2035	"Thread %d, Step 16: Read backward"
2036	"Thread %d, Step 17: Read, write followed by write complement in backward direction"
2037	"Thread %d, Step 18: Read in forward direction"


2061	"Thread %d, Step 2: Read, write complement, write original pattern, \n\
Write complement again and read in backward direction"
2062	"Thread %d, Step 3: Read, write original pattern, write complement, \n\
Write original pattern again and read in backward direction"
2063	"Thread %d, Step 4: Read, write complement, write original pattern, \n\
Write complement again and read in forward direction"
2064	"Thread %d, Step 5: Read, write original pattern, write complement, \n\
Write original pattern again and read in forward direction"
2065	"Thread %d, Step 6: Read in forward direction"


2071	"Thread %d, Step 3: Read, write original pattern, read again and \n\
write complement in backward direction"
2072	"Thread %d, Step 4: Read & write backward"
2073	"Thread %d, Step 5: Read, write complement, read again and \n\
write original pattern in backward direction"
2074	"Thread %d, Step 6: Read backward"




3000	\
TEST SPECIFIC OPTIONS:\n\n


3001	\
reserve	:	This is used to specify the amount of memory that will not be\n\
		allocated for testing. Reserve represents a percentage of the\n\
		total physical memory in the system. When the test starts, it\n\
		probes the total memory present in the system, then tries to\n\
		allocate (100 - reserve)%% of memory. If the allocation or\n\
		locking does not succeed the amount of memory is reduced before\n\
		the retry. Before starting the test, amount of memory\n\
		allocated for testing is displayed.\n\n\
		NOTE\n\
		(a) For 32-bit booted systems, reserve value represents %%age\n\
		of 4GB rather than %%age of total physical memory.\n\n\
		(b) Default value for reserve option is 20. For USIIIi plat-\n\
		forms, default value is tuned to 25.\n\n\
		(c) It should be noted that on low memory systems the reserve\n\
		value should be kept higher to avoid excessive swapping.\n\n

3002	\
stride :	By default stride is set to \"Random\". It can be set to\n\
		"\Column\" or \"Row\" also. In case of random, either Row or\n\
		Column are randomly selected for each pass. Value of stride\n\
		defines the memory locations addressed consecutively in\n\
		certain	subtests, in a hardware dependent manner. All\n\
		testable memory is still tested. Using different strides,\n\
		checks coupling among different set of memory cells, therefore\n\
		random is the recommended value for this option unless both\n\
		column and row are being explicitly used in different\n\
		instances. For FA type of uses, stride may also be set to\n\
		\"UserDefined\", in this case the test will stride the number\n\
		of banks specified in the \"userstride\" option.\n\n

3003	\
userstride:	Use this option to set number of banks the test should\n\
		stride.	One of the good choices could be the interleave on\n\
		the suspect bank, during FA. the value is limited between\n\
		1 and 16 right now. (This also means row striding is not\n\
		possible while using this option).\n\n
		
3004	\
lock	:	By default memory locking is \"Disabled\". To turn it on set\n\
 		lock to	\"Enabled\". The test uses ISM to lock the memory\n\
		into the core, this gives 4 MB virtual pages and avoids\n\
		swapping. Running without locking on the other hand adds\n\
		more randomness	to the addressing sequence.\n\n\
		It should be noted that on low memory systems this option\n\
		can be "Enabled" to avoid excessive swapping.\n\n\
		In case the test is unable to lock the memory, the user\n\
		should put the following lines in /etc/system and reboot the\n\
		machine.\n\n\
		set shmsys:shminfo_shmmax=0xFFFFFFFFFFFFFFFF\n\
		set shmsys:shminfo_shmmin=1\n\
		set shmsys:shminfo_shmmni=100\n\
		set shmsys:shminfo_shmseg=10\n\n\
		For further information please refer,\n\
		\"Solaris Tunable Parameters Reference Manual\" applicable\n\
		to your solaris release.\n\n

3005	\
eccmonitor:	ECC Monitor is \"Enabled\" by default. The ECC error monitor\n\
		runs as a separate thread in the test. When an ECC error is\n\
		detected, the message is displayed on to the test output. The\n\
		monitor can be turned off by setting this option to \"Disabled\".\n\n

3006	\
threshold:	This is the number of ECC errors after which the test will\n\
		stop (if ECC monitor is running). When the threshold is\n\
		reached the test will exit with a non zero exit code. If set\n\
		to zero, the test will still report all the errors but will\n\
		not stop. The default threshold is 2.\n\n

3007	\
pass	:	This option specifies number of passes, in the same instance.\n\
		Increasing pass is recommended in case \"lock\" is enabled,\n\
		this will save time spent on locking the memory every time\n\
		a new process/instance is spawned by the VTS kernel. Note\n\
		that this pass has no relation with the system passes in the\n\
		VTS infrastructure, it will appear that ramtest is taking\n\
		longer to complete system passes.\n\n

3008	\
ntaloops:	Specifies number of loops of NTA march(30N) test, per pass.\n\
		Increasing the number of loops of any subtest increases\n\
		the relative time spent on that subtest in each pass. This\n\
		increase also increases the time taken to complete a pass.\n\
		NTA march test attacks stuck-at-faults, two cell coupling \n\
		faults and some three cell coupling faults.\n\n

3009	\
laloops:	Specifies number of loops of LA march(22N) test, per pass.\n\
		Increasing the number of loops of any subtest increases\n\
		the relative time spent on that subtest in each pass. This\n\
		increase also increases the time taken to complete a pass.\n\
		LA march test attacks coupling and stuck-at-faults.\n\n

3010	\
lrloops:	Specifies number of loops of LR march(14N) test, per pass.\n\
		Increasing the number of loops of any subtest increases\n\
		the relative time spent on that subtest in each pass. This\n\
		increase also increases the time taken to complete a pass.\n\
		LR march test attacks coupling and stuck-at-faults.\n\n

3011	\
dratio :	Descramble ratio can be used to tune the algorithm used to\n\
		generate data patterns in ramtest. Descramble ratio of 100\n\
		means that all the data patterns generated will be\n\
		descrambled. Where as if descramble ratio is 0, the test\n\
		will generate the data patterns tuned towards bus noise.\n\
		Default	value is 50, which means that half the data patterns\n\
		are descrambled.\n\n
		
		






$ --------------------------------------------------
$ WARNING       4000 - 5999
$ --------------------------------------------------

4000	"Library call %s Failed : %s"
4001	"System call %s Failed : %s"
4002	"Thread %d was supposed to bind to cpu %d, its actually bound to cpu %d"


4004	"Due to use of prefetch with USIII cpu some ECC errors may not be detected"
4006	"Invalid value for %s, defaulting to %d"
4008	"Test size less than %lu MB(minimum required), no memory allocated"
4009	"Could not lock memory for testing, proceeding without locking"


4010	"Received signal %d"
4011	"Error associated with signal : %s"
4012	"The signal was generated by user through kill, sigsend or raise etc."
4013	"Signal Information for %s"

4020	"Illegal opcode"
4021	"Illegal operand"
4022	"Illegal addressing mode"
4023	"Illegal trap"
4024	"Privileged opcode"
4025	"Privileged register"
4026	"co-processor error"
4027	"Internal stack error"
4028	"Address of faulting instruction = 0x%p"

4030	"Integer divide by zero"
4031	"Integer overflow"
4032	"Floating point divide by zero"
4033	"Floating point overflow"
4034	"Floating point underflow"
4035	"Floating point inexact result"
4036	"Invalid floating point operation"
4037	"Subscript out of range"
4038	"Address   of   faulting   memory reference = 0x%p"

4040	"Address not mapped to object"
4041	"Invalid permissions  for  mapped object"


4050	"Invalid address alignment"
4051	"Non-existent physical address"
4052	"Object specific hardware error"


4060	"PSR = 0x%lx, FSR = 0x%lx"
4061	"%%pc = 0x%p, %%npc = 0x%p, %%sp  = 0x%p"
4062	"ASI = 0x%p"

4070  	"Could not update Data pattern"


$ --------------------------------------------------
$ CPC WARNINGS START AT 5000 
$ --------------------------------------------------

5005	"Received signal SIGEMT, but it does not seem to be as a result of cpc event overflow"


$ --------------------------------------------------
$ ERROR         6000 - 7999
$ --------------------------------------------------

6000	Stopping after finding %d ECC errors. \
The Error Summary is provided for only those ECC errors that \
happened on memory DIMM FRUs, please see system log files \
for complete error details\n\t%s\n

$ --------------------------------------------------
$ FATAL         8000 - 9999
$ --------------------------------------------------

8000	"Could not find any online cpus"
8001	"Invalid option, use -u option for help on usage"
8002 	"System call %s failed : %s"


8010	"Could Not Allocate Memory for testing."
8011	"Could not find size of physical memory present in the system."




$ --------------------------------------------------
$ PROBE         10000
$ --------------------------------------------------

10001	"System/Library call %s Failed : %s"
10002	"Could not detect physical memory in the system."





