Sun Mar 14 03:25:01 2021 UTC ()
Fix DJMEMCMAX option for Quadra/Centris 650/800.

- Use jeq instead of jra for conditional branch.
- Use cmpl instead of cmp (= cmpw) for int variables.

Now, my Quadra 800 recognizes full 520MB memory!


(rin)
diff -r1.173 -r1.174 src/sys/arch/mac68k/mac68k/locore.s

cvs diff -r1.173 -r1.174 src/sys/arch/mac68k/mac68k/locore.s (expand / switch to unified diff)

--- src/sys/arch/mac68k/mac68k/locore.s 2020/07/21 06:10:26 1.173
+++ src/sys/arch/mac68k/mac68k/locore.s 2021/03/14 03:25:01 1.174
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1/* $NetBSD: locore.s,v 1.173 2020/07/21 06:10:26 rin Exp $ */ 1/* $NetBSD: locore.s,v 1.174 2021/03/14 03:25:01 rin Exp $ */
2 2
3/* 3/*
4 * Copyright (c) 1988 University of Utah. 4 * Copyright (c) 1988 University of Utah.
5 * Copyright (c) 1982, 1990 The Regents of the University of California. 5 * Copyright (c) 1982, 1990 The Regents of the University of California.
6 * All rights reserved. 6 * All rights reserved.
7 * 7 *
8 * This code is derived from software contributed to Berkeley by 8 * This code is derived from software contributed to Berkeley by
9 * the Systems Programming Group of the University of Utah Computer 9 * the Systems Programming Group of the University of Utah Computer
10 * Science Department. 10 * Science Department.
11 * 11 *
12 * Redistribution and use in source and binary forms, with or without 12 * Redistribution and use in source and binary forms, with or without
13 * modification, are permitted provided that the following conditions 13 * modification, are permitted provided that the following conditions
14 * are met: 14 * are met:
@@ -265,36 +265,36 @@ Lstart3: @@ -265,36 +265,36 @@ Lstart3:
265 265
266 movql #0,%d0 266 movql #0,%d0
267 .long 0x4e7b0003 | movc %d0,%tc ;Disable MMU 267 .long 0x4e7b0003 | movc %d0,%tc ;Disable MMU
268 .long 0x4e7b0004 | movc %d0,%itt0 ;Disable itt0 268 .long 0x4e7b0004 | movc %d0,%itt0 ;Disable itt0
269 .long 0x4e7b0005 | movc %d0,%itt1 ;Disable itt1 269 .long 0x4e7b0005 | movc %d0,%itt1 ;Disable itt1
270 .long 0x4e7b0006 | movc %d0,%dtt0 ;Disable dtt0 270 .long 0x4e7b0006 | movc %d0,%dtt0 ;Disable dtt0
271 .long 0x4e7b0007 | movc %d0,%dtt1 ;Disable dtt1 271 .long 0x4e7b0007 | movc %d0,%dtt1 ;Disable dtt1
272 movl %a1,%d1 272 movl %a1,%d1
273 .word 0xf518 | pflusha 273 .word 0xf518 | pflusha
274 .long 0x4e7b1807 | movc %d1,%srp 274 .long 0x4e7b1807 | movc %d1,%srp
275 275
276#if defined(DJMEMCMAX) 276#if defined(DJMEMCMAX)
277 movl %a3,%sp@- 277 movl %a3,%sp@-
278 cmp #MACH_MACC610,_C_LABEL(machineid) 278 cmpl #MACH_MACC610,_C_LABEL(machineid)
279 jra Ldjmemc610 279 jeq Ldjmemc610
280 cmp #MACH_MACQ610,_C_LABEL(machineid) 280 cmpl #MACH_MACQ610,_C_LABEL(machineid)
281 jra Ldjmemc610 281 jeq Ldjmemc610
282 cmp #MACH_MACC650,_C_LABEL(machineid) 282 cmpl #MACH_MACC650,_C_LABEL(machineid)
283 jra Ldjmemccfg 283 jeq Ldjmemccfg
284 cmp #MACH_MACQ650,_C_LABEL(machineid) 284 cmpl #MACH_MACQ650,_C_LABEL(machineid)
285 jra Ldjmemccfg 285 jeq Ldjmemccfg
286 cmp #MACH_MACQ800,_C_LABEL(machineid) 286 cmpl #MACH_MACQ800,_C_LABEL(machineid)
287 jra Ldjmemccfg 287 jeq Ldjmemccfg
288 288
289 jra Lnodjmemc 289 jra Lnodjmemc
290  290
291Ldjmemccfg: 291Ldjmemccfg:
292 movl #0x50f0e00c,%a0 292 movl #0x50f0e00c,%a0
293 movl %a0@,%d0 | determine where RAM SIMMs start 293 movl %a0@,%d0 | determine where RAM SIMMs start
294 andl #0x000000FF,%d0 294 andl #0x000000FF,%d0
295 addl #0x10,%d0 | bank 3 start 295 addl #0x10,%d0 | bank 3 start
296 addl #0x10,%d0 | bank 4 start 296 addl #0x10,%d0 | bank 4 start
297 297
298 movl #0x50f0e014,%a0 298 movl #0x50f0e014,%a0
299 movl %d0,%a0@+ | bank 4 299 movl %d0,%a0@+ | bank 4
300 addl #0x10,%d0 300 addl #0x10,%d0