167117Sdfr/* $NetBSD: brk.S,v 1.4 1996/10/17 03:08:15 cgd Exp $ */ 267117Sdfr 367117Sdfr/* 467117Sdfr * Copyright (c) 1994, 1995 Carnegie-Mellon University. 567117Sdfr * All rights reserved. 667117Sdfr * 767117Sdfr * Author: Chris G. Demetriou 867117Sdfr * 967117Sdfr * Permission to use, copy, modify and distribute this software and 1067117Sdfr * its documentation is hereby granted, provided that both the copyright 1167117Sdfr * notice and this permission notice appear in all copies of the 1267117Sdfr * software, derivative works or modified versions, and any portions 1367117Sdfr * thereof, and that both notices appear in supporting documentation. 1467117Sdfr * 1567117Sdfr * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" 1667117Sdfr * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND 1767117Sdfr * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. 1867117Sdfr * 1967117Sdfr * Carnegie Mellon requests users of this software to return to 2067117Sdfr * 2167117Sdfr * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU 2267117Sdfr * School of Computer Science 2367117Sdfr * Carnegie Mellon University 2467117Sdfr * Pittsburgh PA 15213-3890 2567117Sdfr * 2667117Sdfr * any improvements or extensions that they make and grant Carnegie the 2767117Sdfr * rights to redistribute these changes. 2867117Sdfr */ 2967117Sdfr 30111777Sobrien#include <machine/asm.h> 31111777Sobrien__FBSDID("$FreeBSD$"); 32111777Sobrien 3367117Sdfr#include "SYS.h" 3467117Sdfr 3567117Sdfr .globl _end 3667117SdfrIMPORT(curbrk, 8) 3767117Sdfr 3867117Sdfr .data 3967117SdfrEXPORT(minbrk) 4067117Sdfr .quad _end 4167117Sdfr 4267117Sdfr .text 4367117SdfrENTRY(brk, 1) 4484755Sdfr add r14=@ltoff(minbrk),gp ;; 4567117Sdfr ld8 r14=[r14] ;; 4684755Sdfr ld8 r14=[r14] ;; 47115084Smarcel cmp.ltu p6,p0=r32,r14 ;; 48115084Smarcel(p6) mov r32=r14 ;; 49115084Smarcel st8 [sp]=r32 5067117Sdfr CALLSYS_ERROR(break) 51115084Smarcel ld8 r15=[sp] 5284755Sdfr add r14=@ltoff(curbrk),gp ;; 5384755Sdfr ld8 r14=[r14] ;; 54115084Smarcel st8 [r14]=r15 5567117Sdfr mov ret0=0 5667117Sdfr br.ret.sptk.few rp 5767117SdfrEND(brk) 58