cerror.S revision 1.2
11.2Sskrll/* $NetBSD: cerror.S,v 1.2 2004/07/15 19:58:00 skrll Exp $ */ 21.2Sskrll 31.2Sskrll/*- 41.2Sskrll * Copyright (c) 2004 The NetBSD Foundation, Inc. 51.2Sskrll * All rights reserved. 61.2Sskrll * 71.2Sskrll * This code is derived from software contributed to The NetBSD Foundation 81.2Sskrll * by Nick Hudson 91.2Sskrll * 101.2Sskrll * Redistribution and use in source and binary forms, with or without 111.2Sskrll * modification, are permitted provided that the following conditions 121.2Sskrll * are met: 131.2Sskrll * 1. Redistributions of source code must retain the above copyright 141.2Sskrll * notice, this list of conditions and the following disclaimer. 151.2Sskrll * 2. Redistributions in binary form must reproduce the above copyright 161.2Sskrll * notice, this list of conditions and the following disclaimer in the 171.2Sskrll * documentation and/or other materials provided with the distribution. 181.2Sskrll * 3. All advertising materials mentioning features or use of this software 191.2Sskrll * must display the following acknowledgement: 201.2Sskrll * This product includes software developed by the NetBSD 211.2Sskrll * Foundation, Inc. and its contributors. 221.2Sskrll * 4. Neither the name of The NetBSD Foundation nor the names of its 231.2Sskrll * contributors may be used to endorse or promote products derived 241.2Sskrll * from this software without specific prior written permission. 251.2Sskrll * 261.2Sskrll * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 271.2Sskrll * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 281.2Sskrll * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 291.2Sskrll * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 301.2Sskrll * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 311.2Sskrll * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 321.2Sskrll * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 331.2Sskrll * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 341.2Sskrll * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 351.2Sskrll * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 361.2Sskrll * POSSIBILITY OF SUCH DAMAGE. 371.2Sskrll */ 381.1Sskrll 391.1Sskrll#include "SYS.h" 401.1Sskrll 411.1Sskrll#ifdef _REENTRANT 421.1SskrllENTRY(__cerror,HPPA_FRAME_SIZE) 431.1Sskrll#else 441.1SskrllLEAF_ENTRY(__cerror) 451.1Sskrll#endif 461.1Sskrll#ifdef _REENTRANT 471.1Sskrll stw %rp, HPPA_FRAME_CRP(%sp) 481.1Sskrll ldo HPPA_FRAME_SIZE(%sp),%sp 491.1Sskrll bl __errno, %rp 501.1Sskrll nop 511.1Sskrll stw %t1, 0(%ret0) 521.1Sskrll ldo -HPPA_FRAME_SIZE(%sp), %sp 531.1Sskrll ldw HPPA_FRAME_CRP(%sp), %rp 541.1Sskrll#else 551.1Sskrll#ifdef PIC 561.1Sskrll addil LT%errno, %r19 571.1Sskrll ldw RT%errno(%r1), %r1 581.1Sskrll stw %t1, 0(%r1) 591.1Sskrll#else 601.1Sskrll ldil L%errno, %r1 611.1Sskrll stw %t1, R%errno(%r1) 621.1Sskrll#endif 631.1Sskrll#endif 641.1Sskrll ldi -1, %ret0 651.1Sskrll bv %r0(%rp) 661.1Sskrll ldi -1, %ret1 671.1SskrllEXIT(__cerror) 68