Files
seta75D 2e8a93c394 Init
2021-10-11 18:20:23 -03:00

38 lines
871 B
ArmAsm

/* @(#)subr.s 1.1 92/07/30 SMI */
/*
* Copyright (c) 1989 by Sun Microsystems, Inc.
*/
/*
* General assembly language routines that are architecture-specific and
* can't be shared across architectures.
* General assembly language routines that are architecture-independent,
* or that can be shared across architectures, belong in
* ../sparc/sparc_subr.s.
*/
#include <machine/asm_linkage.h>
#include <machine/mmu.h>
.seg "text"
.align 4
/*
* Read the ID prom.
* This is mapped from ID_PROM for IDPROMSIZE bytes in the
* ASI_CTL address space for byte access only.
*/
ENTRY(getidprom)
set ID_PROM, %o5
clr %o4
1:
lduba [%o5 + %o4]ASI_CTL, %o3 ! get id prom byte
add %o4, 1, %o4 ! interlock
stb %o3, [%o0] ! put it out
cmp %o4, IDPROMSIZE ! done yet?
bne,a 1b
add %o0, 1, %o0 ! delay slot
retl ! leaf routine return
nop ! delay slot