Update for the new cache code.

This commit is contained in:
uch 2001-11-23 16:09:11 +00:00
parent 9d6cd691b6
commit 4c8f0c8ea9
2 changed files with 27 additions and 27 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: kloader.c,v 1.1 2001/10/16 15:38:55 uch Exp $ */
/* $NetBSD: kloader.c,v 1.2 2001/11/23 16:09:11 uch Exp $ */
/*-
* Copyright (c) 2001 The NetBSD Foundation, Inc.
@ -46,6 +46,7 @@
#include <uvm/uvm_extern.h>
#include <mips/cache.h>
#include <playstation2/playstation2/kloader.h>
#ifdef DEBUG
@ -90,7 +91,6 @@ STATIC struct {
int setuped;
} kloader;
extern void r5900_FlushCache(void);
extern paddr_t avail_start, avail_end;
extern char kloader_boot_start[], kloader_boot_end[];
@ -120,7 +120,6 @@ kloader_reboot_setup(const char *filename)
if (kloader_load() != 0)
goto end;
r5900_FlushCache();
kloader.setuped = 1;
#ifdef KLOADER_DEBUG
kloader_dump(kloader.entry, kloader.tagstart);
@ -136,7 +135,7 @@ kloader_reboot()
if (!kloader.setuped)
return;
r5900_FlushCache();
mips_icache_sync_all();
(*kloader.loader)(kloader.entry, kloader.tagstart);
/* NOTREACHED */
}

View File

@ -1,4 +1,4 @@
/* $NetBSD: locore_machdep.S,v 1.2 2001/11/14 18:15:33 thorpej Exp $ */
/* $NetBSD: locore_machdep.S,v 1.3 2001/11/23 16:09:11 uch Exp $ */
/*-
* Copyright (c) 2001 The NetBSD Foundation, Inc.
@ -32,10 +32,11 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
#include "opt_builtin_kernel_loader.h"
#include "opt_kloader_kernel_path.h"
#include <mips/asm.h>
#include <mips/cache_r5900.h>
#include <mips/cpuregs.h>
#define D_STAT_REG 0xb000e010
@ -120,7 +121,7 @@ NESTED_NOPROFILE(spllowersofthigh, CALLFRAME_SIZ, ra)
addu sp, sp, CALLFRAME_SIZ
END(spllowersofthigh)
#ifdef BUILTIN_KERNEL_LOADER
#ifdef KLOADER_KERNEL_PATH
/*
* kloader_boot(vaddr_t entry_addr, struct kloader_page_tag *p)
* must be PIC.
@ -155,8 +156,8 @@ LEAF_NOPROFILE(kloader_boot)
/*
* 2. Cache flush
*/
li t1, R5900_C_SIZE_I
li t2, R5900_C_SIZE_D
li t1, CACHE_R5900_SIZE_I
li t2, CACHE_R5900_SIZE_D
/*
* Flush the data cache.
@ -168,17 +169,17 @@ LEAF_NOPROFILE(kloader_boot)
sync.p
1:
# line +0
cache R5900_C_IWBINV_D, 0(t0);sync.l;sync.p # way 0
cache R5900_C_IWBINV_D, 1(t0);sync.l;sync.p # way 1
cache CACHEOP_R5900_IWBINV_D, 0(t0);sync.l;sync.p # way 0
cache CACHEOP_R5900_IWBINV_D, 1(t0);sync.l;sync.p # way 1
# line +1
cache R5900_C_IWBINV_D, 64(t0);sync.l;sync.p # way 0
cache R5900_C_IWBINV_D, 65(t0);sync.l;sync.p # way 1
cache CACHEOP_R5900_IWBINV_D, 64(t0);sync.l;sync.p # way 0
cache CACHEOP_R5900_IWBINV_D, 65(t0);sync.l;sync.p # way 1
# line +2
cache R5900_C_IWBINV_D,128(t0);sync.l;sync.p # way 0
cache R5900_C_IWBINV_D,129(t0);sync.l;sync.p # way 1
cache CACHEOP_R5900_IWBINV_D,128(t0);sync.l;sync.p # way 0
cache CACHEOP_R5900_IWBINV_D,129(t0);sync.l;sync.p # way 1
# line +3
cache R5900_C_IWBINV_D,192(t0);sync.l;sync.p # way 0
cache R5900_C_IWBINV_D,193(t0);sync.l;sync.p # way 1
cache CACHEOP_R5900_IWBINV_D,192(t0);sync.l;sync.p # way 0
cache CACHEOP_R5900_IWBINV_D,193(t0);sync.l;sync.p # way 1
addu t0, t0, 256
bne t0, t1, 1b
nop
@ -195,17 +196,17 @@ LEAF_NOPROFILE(kloader_boot)
# [12:6] ... line
# [0] ... way
# line +0
cache R5900_C_IINV_I, 0(t0);sync.l;sync.p # way 0
cache R5900_C_IINV_I, 1(t0);sync.l;sync.p # way 1
cache CACHEOP_R5900_IINV_I, 0(t0);sync.l;sync.p # way 0
cache CACHEOP_R5900_IINV_I, 1(t0);sync.l;sync.p # way 1
# line +1
cache R5900_C_IINV_I, 64(t0);sync.l;sync.p # way 0
cache R5900_C_IINV_I, 65(t0);sync.l;sync.p # way 1
cache CACHEOP_R5900_IINV_I, 64(t0);sync.l;sync.p # way 0
cache CACHEOP_R5900_IINV_I, 65(t0);sync.l;sync.p # way 1
# line +2
cache R5900_C_IINV_I,128(t0);sync.l;sync.p # way 0
cache R5900_C_IINV_I,129(t0);sync.l;sync.p # way 1
cache CACHEOP_R5900_IINV_I,128(t0);sync.l;sync.p # way 0
cache CACHEOP_R5900_IINV_I,129(t0);sync.l;sync.p # way 1
# line +3
cache R5900_C_IINV_I,192(t0);sync.l;sync.p # way 0
cache R5900_C_IINV_I,193(t0);sync.l;sync.p # way 1
cache CACHEOP_R5900_IINV_I,192(t0);sync.l;sync.p # way 0
cache CACHEOP_R5900_IINV_I,193(t0);sync.l;sync.p # way 1
addu t0, t0, 256
bne t0, t1, 1b
nop
@ -219,7 +220,7 @@ LEAF_NOPROFILE(kloader_boot)
END(kloader_boot)
EXPORT(kloader_boot_end)
#endif /* BUILTIN_KERNEL_LOADER */
#endif /* KLOADER_KERNEL_PATH */
/*
* Unused. but for vmstat(8)