1*2fe8fb19SBen Gras/* $NetBSD: brk.S,v 1.9 2001/05/07 17:19:17 kleink Exp $ */ 2*2fe8fb19SBen Gras 3*2fe8fb19SBen Gras/* 4*2fe8fb19SBen Gras * Copyright (c) 1994, 1995 Carnegie-Mellon University. 5*2fe8fb19SBen Gras * All rights reserved. 6*2fe8fb19SBen Gras * 7*2fe8fb19SBen Gras * Author: Chris G. Demetriou 8*2fe8fb19SBen Gras * 9*2fe8fb19SBen Gras * Permission to use, copy, modify and distribute this software and 10*2fe8fb19SBen Gras * its documentation is hereby granted, provided that both the copyright 11*2fe8fb19SBen Gras * notice and this permission notice appear in all copies of the 12*2fe8fb19SBen Gras * software, derivative works or modified versions, and any portions 13*2fe8fb19SBen Gras * thereof, and that both notices appear in supporting documentation. 14*2fe8fb19SBen Gras * 15*2fe8fb19SBen Gras * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" 16*2fe8fb19SBen Gras * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND 17*2fe8fb19SBen Gras * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. 18*2fe8fb19SBen Gras * 19*2fe8fb19SBen Gras * Carnegie Mellon requests users of this software to return to 20*2fe8fb19SBen Gras * 21*2fe8fb19SBen Gras * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU 22*2fe8fb19SBen Gras * School of Computer Science 23*2fe8fb19SBen Gras * Carnegie Mellon University 24*2fe8fb19SBen Gras * Pittsburgh PA 15213-3890 25*2fe8fb19SBen Gras * 26*2fe8fb19SBen Gras * any improvements or extensions that they make and grant Carnegie the 27*2fe8fb19SBen Gras * rights to redistribute these changes. 28*2fe8fb19SBen Gras */ 29*2fe8fb19SBen Gras 30*2fe8fb19SBen Gras#include "SYS.h" 31*2fe8fb19SBen Gras 32*2fe8fb19SBen Gras .globl _end 33*2fe8fb19SBen GrasIMPORT(__curbrk, 8) 34*2fe8fb19SBen Gras 35*2fe8fb19SBen Gras#ifdef WEAK_ALIAS 36*2fe8fb19SBen GrasWEAK_ALIAS(brk, _brk) 37*2fe8fb19SBen Gras#endif 38*2fe8fb19SBen Gras 39*2fe8fb19SBen Gras .data 40*2fe8fb19SBen GrasEXPORT(__minbrk) 41*2fe8fb19SBen Gras .quad _end 42*2fe8fb19SBen Gras 43*2fe8fb19SBen Gras .text 44*2fe8fb19SBen GrasLEAF(_brk, 1) 45*2fe8fb19SBen Gras br pv, L1 /* XXX profiling */ 46*2fe8fb19SBen GrasL1: LDGP(pv) 47*2fe8fb19SBen Gras ldq v0, __minbrk 48*2fe8fb19SBen Gras cmpult a0, v0, t0 49*2fe8fb19SBen Gras cmovne t0, v0, a0 50*2fe8fb19SBen Gras CALLSYS_ERROR(break) 51*2fe8fb19SBen Gras stq a0, __curbrk 52*2fe8fb19SBen Gras mov zero, v0 53*2fe8fb19SBen Gras RET 54*2fe8fb19SBen GrasEND(_brk) 55