comparison level2/modules/kernel/fsrqmem.asm @ 2118:7fca19b7c923

ChangeLog udpated FSRqMem optimization added
author boisy
date Fri, 24 Aug 2007 03:30:33 +0000
parents 5ecf6e023a64
children 055c774cb633
comparison
equal deleted inserted replaced
2117:093b7a304dd1 2118:7fca19b7c923
60 L084F inc 1,s Bump up to next block to check 60 L084F inc 1,s Bump up to next block to check
61 ldb 1,s Get it 61 ldb 1,s Get it
62 cmpb #DAT.BlCt Done whole 64k system space? 62 cmpb #DAT.BlCt Done whole 64k system space?
63 blo L082F no, keep checking 63 blo L082F no, keep checking
64 * Now we can actually attempt to allocate the system RAM requested 64 * Now we can actually attempt to allocate the system RAM requested
65 * NOTE: Opt for Coco/TC9 OS9 ONLY: skip last 17 pages with leay -17,y since 65 * NOTE: Opt for CoCo/TC9 OS9 ONLY: skip last 19 pages since
66 * they are: Kernel (REL/BOOT/OS9P1 - 15 pages), vector RAM & I/O (2 pages) 66 * they are: Kernel (REL/BOOT/KRN - 17 pages), vector RAM & I/O (2 pages)
67 * (Already permanently marked @ L01D2) 67 * (Already permanently marked @ L01D2)
68 * At the start, Y is pointing to the end of the SMAP table+1 68 * At the start, Y is pointing to the end of the SMAP table+1
69 ldx <D.SysMem Get start of table ptr 69 ldx <D.SysMem Get start of table ptr
70 ldb #32 skip block 0: it's always full 70 ldb #32 skip block 0: it's always full
71 abx same size, but faster than leax $20,x 71 abx same size, but faster than leax $20,x
72 leay -17,y Skip Kernel, Vector RAM & I/O (Can't be free) 72 leay -19,y Skip Kernel, Vector RAM & I/O (Can't be free)
73 L0857 ldb R$A,u Get # 256 byte pages requested 73 L0857 ldb R$A,u Get # 256 byte pages requested
74 * Loop (from end of system mem map) to look for # continuous pages requested 74 * Loop (from end of system mem map) to look for # continuous pages requested
75 L0859 equ * 75 L0859 equ *
76 IFNE H6309 76 IFNE H6309
77 cmpr x,y We still have any system RAM left to try? 77 cmpr x,y We still have any system RAM left to try?