summaryrefslogtreecommitdiffstats
path: root/qemu/roms/openbios/arch/ppc/briq
diff options
context:
space:
mode:
authorRajithaY <rajithax.yerrumsetty@intel.com>2017-04-25 03:31:15 -0700
committerRajitha Yerrumchetty <rajithax.yerrumsetty@intel.com>2017-05-22 06:48:08 +0000
commitbb756eebdac6fd24e8919e2c43f7d2c8c4091f59 (patch)
treeca11e03542edf2d8f631efeca5e1626d211107e3 /qemu/roms/openbios/arch/ppc/briq
parenta14b48d18a9ed03ec191cf16b162206998a895ce (diff)
Adding qemu as a submodule of KVMFORNFV
This Patch includes the changes to add qemu as a submodule to kvmfornfv repo and make use of the updated latest qemu for the execution of all testcase Change-Id: I1280af507a857675c7f81d30c95255635667bdd7 Signed-off-by:RajithaY<rajithax.yerrumsetty@intel.com>
Diffstat (limited to 'qemu/roms/openbios/arch/ppc/briq')
-rw-r--r--qemu/roms/openbios/arch/ppc/briq/briq.c194
-rw-r--r--qemu/roms/openbios/arch/ppc/briq/briq.fs115
-rw-r--r--qemu/roms/openbios/arch/ppc/briq/briq.h24
-rw-r--r--qemu/roms/openbios/arch/ppc/briq/init.c130
-rw-r--r--qemu/roms/openbios/arch/ppc/briq/kernel.c16
-rw-r--r--qemu/roms/openbios/arch/ppc/briq/main.c145
-rw-r--r--qemu/roms/openbios/arch/ppc/briq/methods.c333
-rw-r--r--qemu/roms/openbios/arch/ppc/briq/tree.c23
-rw-r--r--qemu/roms/openbios/arch/ppc/briq/tree.fs305
-rw-r--r--qemu/roms/openbios/arch/ppc/briq/vfd.c42
10 files changed, 0 insertions, 1327 deletions
diff --git a/qemu/roms/openbios/arch/ppc/briq/briq.c b/qemu/roms/openbios/arch/ppc/briq/briq.c
deleted file mode 100644
index a8541c370..000000000
--- a/qemu/roms/openbios/arch/ppc/briq/briq.c
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
- * Creation Date: <2004/08/28 18:38:22 greg>
- * Time-stamp: <2004/08/28 18:38:22 greg>
- *
- * <briq.c>
- *
- * Copyright (C) 2004, Greg Watson
- *
- * derived from mol.c
- *
- * Copyright (C) 2003, 2004 Samuel Rydh (samuel@ibrium.se)
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * version 2
- *
- */
-
-#include "config.h"
-#include "kernel/kernel.h"
-#include "arch/common/nvram.h"
-#include "libc/vsprintf.h"
-#include "libc/string.h"
-#include "briq/briq.h"
-#include <stdarg.h>
-
-#define UART_BASE 0x3f8
-
-unsigned long virt_offset = 0;
-
-void
-exit( int status )
-{
- for (;;);
-}
-
-void
-fatal_error( const char *err )
-{
- printk("Fatal error: %s\n", err );
- exit(0);
-}
-
-void
-panic( const char *err )
-{
- printk("Panic: %s\n", err );
- exit(0);
-
- /* won't come here... this keeps the gcc happy */
- for( ;; )
- ;
-}
-
-
-/************************************************************************/
-/* print using OSI interface */
-/************************************************************************/
-
-static int do_indent;
-
-int
-printk( const char *fmt, ... )
-{
- char *p, buf[1024];
- va_list args;
- int i;
-
- va_start(args, fmt);
- i = vnsprintf(buf, sizeof(buf), fmt, args);
- va_end(args);
-
- for( p=buf; *p; p++ ) {
- if( *p == '\n' )
- do_indent = 0;
- if( do_indent++ == 1 ) {
- putchar( '>' );
- putchar( '>' );
- putchar( ' ' );
- }
- putchar( *p );
- }
- return i;
-}
-
-
-/************************************************************************/
-/* TTY iface */
-/************************************************************************/
-
-static int ttychar = -1;
-
-static int
-tty_avail( void )
-{
- return 1;
-}
-
-static int
-tty_putchar( int c )
-{
- if( tty_avail() ) {
- while (!(inb(UART_BASE + 0x05) & 0x20))
- ;
- outb(c, UART_BASE);
- while (!(inb(UART_BASE + 0x05) & 0x40))
- ;
- }
- return c;
-}
-
-int
-availchar( void )
-{
- if( !tty_avail() )
- return 0;
-
- if( ttychar < 0 )
- ttychar = inb(UART_BASE);
- return (ttychar >= 0);
-}
-
-int
-getchar( void )
-{
- int ch;
-
- if( !tty_avail() )
- return 0;
-
- if( ttychar < 0 )
- return inb(UART_BASE);
- ch = ttychar;
- ttychar = -1;
- return ch;
-}
-
-int
-putchar( int c )
-{
- if (c == '\n')
- tty_putchar('\r');
- return tty_putchar(c);
-}
-
-
-/************************************************************************/
-/* briQ specific stuff */
-/************************************************************************/
-
-static char nvram[2048];
-
-void
-dump_nvram(void)
-{
- static char hexdigit[] = "0123456789abcdef";
- int i;
- for (i = 0; i < 16*4; i++)
- {
- printk ("%c", hexdigit[nvram[i] >> 4]);
- printk ("%c", hexdigit[nvram[i] % 16]);
- if (!((i + 1) % 16))
- {
- printk ("\n");
- }
- else
- {
- printk (" ");
- }
- }
-}
-
-
-int
-arch_nvram_size( void )
-{
- return sizeof(nvram);
-}
-
-void
-arch_nvram_put( char *buf )
-{
- memcpy(nvram, buf, sizeof(nvram));
- printk("new nvram:\n");
- dump_nvram();
-}
-
-void
-arch_nvram_get( char *buf )
-{
- memcpy(buf, nvram, sizeof(nvram));
- printk("current nvram:\n");
- dump_nvram();
-}
diff --git a/qemu/roms/openbios/arch/ppc/briq/briq.fs b/qemu/roms/openbios/arch/ppc/briq/briq.fs
deleted file mode 100644
index 78d77970c..000000000
--- a/qemu/roms/openbios/arch/ppc/briq/briq.fs
+++ /dev/null
@@ -1,115 +0,0 @@
-\ briq specific initialization code
-\
-\ Copyright (C) 2004 Greg Watson
-\
-\ This program is free software; you can redistribute it and/or
-\ modify it under the terms of the GNU General Public License
-\ as published by the Free Software Foundation
-\
-
-
-\ -------------------------------------------------------------------------
-\ initialization
-\ -------------------------------------------------------------------------
-
-: make-openable ( path )
- find-dev if
- begin ?dup while
- \ install trivial open and close methods
- dup active-package! is-open
- parent
- repeat
- then
-;
-
-: preopen ( chosen-str node-path )
- 2dup make-openable
-
- " /chosen" find-device
- open-dev ?dup if
- encode-int 2swap property
- else
- 2drop
- then
-;
-
-\ preopen device nodes (and store the ihandles under /chosen)
-:noname
- " rtc" " /pci/isa/rtc" preopen
- " memory" " /memory" preopen
- " mmu" " /cpu@0" preopen
- " stdout" " /packages/terminal-emulator" preopen
- " stdin" " keyboard" preopen
-
-; SYSTEM-initializer
-
-
-\ -------------------------------------------------------------------------
-\ device tree fixing
-\ -------------------------------------------------------------------------
-
-\ add decode-address methods
-: (make-decodable) ( phandle -- )
-
- dup " #address-cells" rot get-package-property 0= if
- decode-int nip nip
- over " decode-unit" rot find-method if 2drop else
- ( save phandle ncells )
-
- over active-package!
- case
- 1 of ['] parse-hex " decode-unit" is-xt-func endof
- 3 of
- " bus-range" active-package get-package-property 0= if
- decode-int nip nip
- ['] encode-unit-pci " encode-unit" is-xt-func
- " decode-unit" is-func-begin
- ['] (lit) , ,
- ['] decode-unit-pci-bus ,
- is-func-end
- then
- endof
- endcase
- then
- then
- drop
-;
-
-: init-briq-tree ( -- )
- active-package
-
- iterate-tree-begin
- begin ?dup while
-
- dup (make-decodable)
-
- iterate-tree
- repeat
-
- active-package!
-;
-
-\ use the tty interface if available
-: activate-tty-interface
- " /packages/terminal-emulator" find-dev if drop
- " /packages/terminal-emulator" " input-device" $setenv
- " /packages/terminal-emulator" " output-device" $setenv
- then
-;
-
-:noname
- " keyboard" input
-; CONSOLE-IN-initializer
-
-
-\ -------------------------------------------------------------------------
-\ pre-booting
-\ -------------------------------------------------------------------------
-
-: update-chosen
- " /chosen" find-device
- stdin @ encode-int " stdin" property
- stdout @ encode-int " stdout" property
- " /pci/isa/interrupt-controller" find-dev if encode-int " interrupt-controller" property then
- device-end
-;
diff --git a/qemu/roms/openbios/arch/ppc/briq/briq.h b/qemu/roms/openbios/arch/ppc/briq/briq.h
deleted file mode 100644
index 33a2cafa8..000000000
--- a/qemu/roms/openbios/arch/ppc/briq/briq.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Creation Date: <2004/08/28 17:50:12 stepan>
- * Time-stamp: <2004/08/28 17:50:12 stepan>
- *
- * <briq.h>
- *
- * Copyright (C) 2004 Stefan Reinauer
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * version 2
- *
- */
-
-#ifndef _H_BRIQ
-#define _H_BRIQ
-
-/* vfd.c */
-extern int vfd_draw_str( const char *str );
-extern void vfd_close( void );
-
-#include "kernel.h"
-
-#endif /* _H_BRIQ */
diff --git a/qemu/roms/openbios/arch/ppc/briq/init.c b/qemu/roms/openbios/arch/ppc/briq/init.c
deleted file mode 100644
index b32e97aa2..000000000
--- a/qemu/roms/openbios/arch/ppc/briq/init.c
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Creation Date: <2004/08/28 18:38:22 greg>
- * Time-stamp: <2004/08/28 18:38:22 greg>
- *
- * <init.c>
- *
- * Initialization for briq
- *
- * Copyright (C) 2004 Greg Watson
- *
- * based on mol/init.c:
- *
- * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Samuel & David Rydh
- * (samuel@ibrium.se, dary@lindesign.se)
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation
- *
- */
-
-#include "config.h"
-#include "libopenbios/openbios.h"
-#include "libopenbios/bindings.h"
-#include "arch/common/nvram.h"
-#include "briq/briq.h"
-#include "libopenbios/ofmem.h"
-#include "openbios-version.h"
-
-extern void unexpected_excep( int vector );
-extern void setup_timers( void );
-
-#if 0
-int
-get_bool_res( const char *res )
-{
- char buf[8], *p;
-
- p = BootHGetStrRes( res, buf, sizeof(buf) );
- if( !p )
- return -1;
- if( !strcasecmp(p,"true") || !strcasecmp(p,"yes") || !strcasecmp(p,"1") )
- return 1;
- return 0;
-}
-#endif
-
-void
-unexpected_excep( int vector )
-{
- printk("briQ panic: Unexpected exception %x\n", vector );
- for( ;; )
- ;
-}
-
-unsigned long isa_io_base;
-
-void
-entry( void )
-{
- isa_io_base = 0x80000000;
-
- printk("\n");
- printk("=============================================================\n");
- printk(PROGRAM_NAME " " OPENBIOS_VERSION_STR " [%s]\n",
- OPENBIOS_BUILD_DATE);
-
- ofmem_init();
- initialize_forth();
- /* won't return */
-
- printk("of_startup returned!\n");
- for( ;; )
- ;
-}
-
-static void
-setenv( char *env, char *value )
-{
- push_str( value );
- push_str( env );
- fword("$setenv");
-}
-
-void
-arch_of_init( void )
-{
-#if CONFIG_RTAS
- phandle_t ph;
-#endif
- int autoboot;
-
- devtree_init();
- node_methods_init();
- modules_init();
- setup_timers();
-#ifdef CONFIG_DRIVER_PCI
- ob_pci_init();
-#endif
-
-#if CONFIG_RTAS
- if( !(ph=find_dev("/rtas")) )
- printk("Warning: No /rtas node\n");
- else {
- unsigned long size = 0x1000;
- while( size < (unsigned long)of_rtas_end - (unsigned long)of_rtas_start )
- size *= 2;
- set_property( ph, "rtas-size", (char*)&size, sizeof(size) );
- }
-#endif
-
-#if 0
- /* tweak boot settings */
- autoboot = !!get_bool_res("autoboot");
-#endif
- autoboot = 0;
- if( !autoboot )
- printk("Autobooting disabled - dropping into OpenFirmware\n");
- setenv("auto-boot?", autoboot ? "true" : "false" );
- setenv("boot-command", "briqboot");
-
-#if 0
- if( get_bool_res("tty-interface") == 1 )
-#endif
- fword("activate-tty-interface");
-
- /* hack */
- device_end();
- bind_func("briqboot", boot );
-}
diff --git a/qemu/roms/openbios/arch/ppc/briq/kernel.c b/qemu/roms/openbios/arch/ppc/briq/kernel.c
deleted file mode 100644
index e85134d43..000000000
--- a/qemu/roms/openbios/arch/ppc/briq/kernel.c
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
- * Creation Date: <2004/08/28 18:03:25 stepan>
- * Time-stamp: <2004/08/28 18:03:25 stepan>
- *
- * <briq/kernel.c>
- *
- * Copyright (C) 2004 Stefan Reinauer
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * version 2
- *
- */
-
-#include "briq-dict.h"
-#include "../kernel.c"
diff --git a/qemu/roms/openbios/arch/ppc/briq/main.c b/qemu/roms/openbios/arch/ppc/briq/main.c
deleted file mode 100644
index fbb2a26de..000000000
--- a/qemu/roms/openbios/arch/ppc/briq/main.c
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Creation Date: <2004/08/28 18:38:22 greg>
- * Time-stamp: <2004/08/28 18:38:22 greg>
- *
- * <main.c>
- *
- * Copyright (C) 2004 Greg Watson
- *
- * Based on MOL specific code which is
- * Copyright (C) 2002, 2003, 2004 Samuel Rydh (samuel@ibrium.se)
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation
- *
- */
-
-
-#include "config.h"
-#include "libopenbios/bindings.h"
-#include "libopenbios/elfload.h"
-#include "arch/common/nvram.h"
-#include "libc/diskio.h"
-#include "libc/vsprintf.h"
-#include "briq/briq.h"
-#include "libopenbios/ofmem.h"
-
-static void
-transfer_control_to_elf( unsigned long entry )
-{
- extern void call_elf( unsigned long entry );
- printk("Starting ELF image at 0x%08lX\n", entry);
- call_elf( 0x400000 );
- //call_elf( entry );
-
- fatal_error("call_elf returned unexpectedly\n");
-}
-
-static int
-load_elf_rom( unsigned long *entry, int fd )
-{
- int i, lszz_offs, elf_offs;
- char buf[128], *addr;
- Elf_ehdr ehdr;
- Elf_phdr *phdr;
- size_t s;
-
- printk("Loading '%s'\n", get_file_path(fd));
-
- /* the ELF-image (usually) starts at offset 0x4000 */
- if( (elf_offs=find_elf(fd)) < 0 ) {
- printk("----> %s is not an ELF image\n", buf );
- exit(1);
- }
- if( !(phdr=elf_readhdrs(fd, elf_offs, &ehdr)) )
- fatal_error("elf_readhdrs failed\n");
-
- *entry = ehdr.e_entry;
-
- /* load segments. Compressed ROM-image assumed to be located immediately
- * after the last segment */
- lszz_offs = elf_offs;
- for( i=0; i<ehdr.e_phnum; i++ ) {
- /* p_memsz, p_flags */
- s = MIN( phdr[i].p_filesz, phdr[i].p_memsz );
- seek_io( fd, elf_offs + phdr[i].p_offset );
-
- /* printk("filesz: %08lX memsz: %08lX p_offset: %08lX p_vaddr %08lX\n",
- phdr[i].p_filesz, phdr[i].p_memsz, phdr[i].p_offset,
- phdr[i].p_vaddr ); */
-
- if( phdr[i].p_vaddr != phdr[i].p_paddr )
- printk("WARNING: ELF segment virtual addr != physical addr\n");
- lszz_offs = MAX( lszz_offs, elf_offs + phdr[i].p_offset + phdr[i].p_filesz );
- if( !s )
- continue;
- if( ofmem_claim( phdr[i].p_vaddr, phdr[i].p_memsz, 0 ) == -1 )
- fatal_error("Claim failed!\n");
-
- addr = (char*)phdr[i].p_vaddr;
- if( read_io(fd, addr, s) != s )
- fatal_error("read failed\n");
-
-#if 0
- /* patch CODE segment */
- if( *entry >= phdr[i].p_vaddr && *entry < phdr[i].p_vaddr + s ) {
- patch_newworld_rom( (char*)phdr[i].p_vaddr, s );
- newworld_timer_hack( (char*)phdr[i].p_vaddr, s );
- }
-#endif
- flush_icache_range( addr, addr+s );
-
- /*printk("ELF ROM-section loaded at %08lX (size %08lX)\n",
- (unsigned long)phdr[i].p_vaddr, (unsigned long)phdr[i].p_memsz );*/
- }
- free( phdr );
- return lszz_offs;
-}
-
-
-static void
-encode_bootpath( const char *spec, const char *args )
-{
- phandle_t chosen_ph = find_dev("/chosen");
- set_property( chosen_ph, "bootpath", spec, strlen(spec)+1 );
- set_property( chosen_ph, "bootargs", args, strlen(args)+1 );
-}
-
-/************************************************************************/
-/* briq booting */
-/************************************************************************/
-
-static void
-briq_startup( void )
-{
- const char *paths[] = { "hd:0,\\zImage.chrp", NULL };
- const char *args[] = { "root=/dev/hda2 console=ttyS0,115200", NULL };
- unsigned long entry;
- int i, fd;
-
- for( i=0; paths[i]; i++ ) {
- if( (fd=open_io(paths[i])) == -1 )
- continue;
- (void) load_elf_rom( &entry, fd );
- close_io( fd );
- encode_bootpath( paths[i], args[i] );
-
- update_nvram();
- transfer_control_to_elf( entry );
- /* won't come here */
- }
- printk("*** Boot failure! No secondary bootloader specified ***\n");
-}
-
-
-/************************************************************************/
-/* entry */
-/************************************************************************/
-
-void
-boot( void )
-{
- fword("update-chosen");
- briq_startup();
-}
diff --git a/qemu/roms/openbios/arch/ppc/briq/methods.c b/qemu/roms/openbios/arch/ppc/briq/methods.c
deleted file mode 100644
index 649e9bafa..000000000
--- a/qemu/roms/openbios/arch/ppc/briq/methods.c
+++ /dev/null
@@ -1,333 +0,0 @@
-/*
- * Creation Date: <2004/08/28 18:38:22 greg>
- * Time-stamp: <2004/08/28 18:38:22 greg>
- *
- * <methods.c>
- *
- * Misc device node methods
- *
- * Copyright (C) 2004 Greg Watson
- *
- * Based on MOL specific code which is
- *
- * Copyright (C) 2003, 2004 Samuel Rydh (samuel@ibrium.se)
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * version 2
- *
- */
-
-#include "config.h"
-#include "libopenbios/bindings.h"
-#include "libc/string.h"
-#include "briq/briq.h"
-#include "libopenbios/ofmem.h"
-
-/************************************************************************/
-/* RTAS (run-time abstraction services) */
-/************************************************************************/
-
-#ifdef CONFIG_RTAS
-DECLARE_NODE( rtas, INSTALL_OPEN, 0, "+/rtas" );
-
-/* ( physbase -- rtas_callback ) */
-static void
-rtas_instantiate( void )
-{
- int physbase = POP();
- int s=0x1000, size = (int)of_rtas_end - (int)of_rtas_start;
- unsigned long virt;
-
- while( s < size )
- s += 0x1000;
- virt = ofmem_claim_virt( 0, s, 0x1000 );
- ofmem_map( physbase, virt, s, -1 );
- memcpy( (char*)virt, of_rtas_start, size );
-
- printk("RTAS instantiated at %08x\n", physbase );
- flush_icache_range( (char*)virt, (char*)virt + size );
-
- PUSH( physbase );
-}
-
-NODE_METHODS( rtas ) = {
- { "instantiate", rtas_instantiate },
- { "instantiate-rtas", rtas_instantiate },
-};
-#endif
-
-
-/************************************************************************/
-/* stdout */
-/************************************************************************/
-
-DECLARE_NODE( vfd_stdout, INSTALL_OPEN, 0, "Tdisplay" );
-
-/* ( addr len -- actual ) */
-static void
-stdout_write( void )
-{
- int len = POP();
- char *addr = (char*)POP();
- char *s = malloc( len + 1 );
-
- strncpy_nopad( s, addr, len );
- s[len]=0;
-
- printk( "%s", s );
- //vfd_draw_str( s );
- free( s );
-
- PUSH( len );
-}
-
-NODE_METHODS( vfd_stdout ) = {
- { "write", stdout_write },
-};
-
-
-/************************************************************************/
-/* tty */
-/************************************************************************/
-
-DECLARE_NODE( tty, INSTALL_OPEN, 0, "/packages/terminal-emulator" );
-
-/* ( addr len -- actual ) */
-static void
-tty_read( void )
-{
- int ch, len = POP();
- char *p = (char*)POP();
- int ret=0;
-
- if( len > 0 ) {
- ret = 1;
- ch = getchar();
- if( ch >= 0 ) {
- *p = ch;
- } else {
- ret = 0;
- }
- }
- PUSH( ret );
-}
-
-/* ( addr len -- actual ) */
-static void
-tty_write( void )
-{
- int i, len = POP();
- char *p = (char*)POP();
- for( i=0; i<len; i++ )
- putchar( *p++ );
- RET( len );
-}
-
-NODE_METHODS( tty ) = {
- { "read", tty_read },
- { "write", tty_write },
-};
-
-/************************************************************************/
-/* client interface 'quiesce' */
-/************************************************************************/
-
-DECLARE_NODE( ciface, 0, 0, "/packages/client-iface" );
-
-/* ( -- ) */
-static void
-ciface_quiesce( unsigned long args[], unsigned long ret[] )
-{
-#if 0
- unsigned long msr;
- /* This seems to be the correct thing to do - but I'm not sure */
- asm volatile("mfmsr %0" : "=r" (msr) : );
- msr &= ~(MSR_IR | MSR_DR);
- asm volatile("mtmsr %0" :: "r" (msr) );
-#endif
- printk("=============================================================\n\n");
-}
-
-/* ( -- ms ) */
-static void
-ciface_milliseconds( unsigned long args[], unsigned long ret[] )
-{
- extern unsigned long get_timer_freq();
- static unsigned long mticks=0, usecs=0;
- unsigned long t;
-
- asm volatile("mftb %0" : "=r" (t) : );
- if( mticks )
- usecs += get_timer_freq() / 1000000 * ( t-mticks );
- mticks = t;
-
- PUSH( usecs/1000 );
-}
-
-
-NODE_METHODS( ciface ) = {
- { "quiesce", ciface_quiesce },
- { "milliseconds", ciface_milliseconds },
-};
-
-
-/************************************************************************/
-/* MMU/memory methods */
-/************************************************************************/
-
-DECLARE_NODE( memory, INSTALL_OPEN, 0, "/memory" );
-DECLARE_NODE( mmu, INSTALL_OPEN, 0, "/cpu@0" );
-DECLARE_NODE( mmu_ciface, 0, 0, "/packages/client-iface" );
-
-
-/* ( phys size align --- base ) */
-static void
-mem_claim( void )
-{
- int align = POP();
- int size = POP();
- int phys = POP();
- int ret = ofmem_claim_phys( phys, size, align );
-
- if( ret == -1 ) {
- printk("MEM: claim failure\n");
- throw( -13 );
- return;
- }
- PUSH( ret );
-}
-
-/* ( phys size --- ) */
-static void
-mem_release( void )
-{
- POP(); POP();
-}
-
-/* ( phys size align --- base ) */
-static void
-mmu_claim( void )
-{
- int align = POP();
- int size = POP();
- int phys = POP();
- int ret = ofmem_claim_virt( phys, size, align );
-
- if( ret == -1 ) {
- printk("MMU: CLAIM failure\n");
- throw( -13 );
- return;
- }
- PUSH( ret );
-}
-
-/* ( phys size --- ) */
-static void
-mmu_release( void )
-{
- POP(); POP();
-}
-
-/* ( phys virt size mode -- [ret???] ) */
-static void
-mmu_map( void )
-{
- int mode = POP();
- int size = POP();
- int virt = POP();
- int phys = POP();
- int ret;
-
- /* printk("mmu_map: %x %x %x %x\n", phys, virt, size, mode ); */
- ret = ofmem_map( phys, virt, size, mode );
-
- if( ret ) {
- printk("MMU: map failure\n");
- throw( -13 );
- return;
- }
-}
-
-/* ( virt size -- ) */
-static void
-mmu_unmap( void )
-{
- POP(); POP();
-}
-
-/* ( virt -- false | phys mode true ) */
-static void
-mmu_translate( void )
-{
- ucell mode;
- ucell virt = POP();
- ucell phys = ofmem_translate( virt, &mode );
-
- if( phys == -1 ) {
- PUSH( 0 );
- } else {
- PUSH( phys );
- PUSH( mode );
- PUSH( -1 );
- }
-}
-
-/* ( virt size align -- baseaddr|-1 ) */
-static void
-ciface_claim( void )
-{
- int align = POP();
- int size = POP();
- int virt = POP();
- int ret = ofmem_claim( virt, size, align );
-
- /* printk("ciface_claim: %08x %08x %x\n", virt, size, align ); */
- PUSH( ret );
-}
-
-/* ( virt size -- ) */
-static void
-ciface_release( void )
-{
- POP();
- POP();
-}
-
-
-NODE_METHODS( memory ) = {
- { "claim", mem_claim },
- { "release", mem_release },
-};
-
-NODE_METHODS( mmu ) = {
- { "claim", mmu_claim },
- { "release", mmu_release },
- { "map", mmu_map },
- { "unmap", mmu_unmap },
- { "translate", mmu_translate },
-};
-
-NODE_METHODS( mmu_ciface ) = {
- { "cif-claim", ciface_claim },
- { "cif-release", ciface_release },
-};
-
-
-/************************************************************************/
-/* init */
-/************************************************************************/
-
-void
-node_methods_init( void )
-{
-#ifdef CONFIG_RTAS
- REGISTER_NODE( rtas );
-#endif
- REGISTER_NODE( vfd_stdout );
- REGISTER_NODE( ciface );
- REGISTER_NODE( memory );
- REGISTER_NODE( mmu );
- REGISTER_NODE( mmu_ciface );
- REGISTER_NODE( tty );
-}
diff --git a/qemu/roms/openbios/arch/ppc/briq/tree.c b/qemu/roms/openbios/arch/ppc/briq/tree.c
deleted file mode 100644
index 177183889..000000000
--- a/qemu/roms/openbios/arch/ppc/briq/tree.c
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Creation Date: <2004/08/28 18:38:22 greg>
- * Time-stamp: <2004/08/28 18:38:22 greg>
- *
- * <tree.c>
- *
- * device tree setup
- *
- * Copyright (C) 2004 Greg Watson
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * version 2
- *
- */
-
-#include "config.h"
-#include "libopenbios/bindings.h"
-
-void devtree_init( void )
-{
- fword("init-briq-tree");
-}
diff --git a/qemu/roms/openbios/arch/ppc/briq/tree.fs b/qemu/roms/openbios/arch/ppc/briq/tree.fs
deleted file mode 100644
index ae503266c..000000000
--- a/qemu/roms/openbios/arch/ppc/briq/tree.fs
+++ /dev/null
@@ -1,305 +0,0 @@
-\ briq specific initialization code
-\
-\ Copyright (C) 2004 Greg Watson
-\
-\ This program is free software; you can redistribute it and/or
-\ modify it under the terms of the GNU General Public License
-\ as published by the Free Software Foundation
-\
-
-\ -------------------------------------------------------------
-\ device-tree
-\ -------------------------------------------------------------
-
-" /" find-device
-
-" chrp" device-type
-" TotalImpact,BRIQ-1" model
-h# 80000000 encode-int " isa-io-base" property
-1 encode-int " #interrupt-cells" property
-1 encode-int " #size-cells" property
-
-new-device
- " memory" device-name
- " memory" device-type
- 0 encode-int h# 1E00000 encode-int encode+
- h# 2000000 encode-int encode+ h# 40000000 encode-int encode+
- " available" property
- 0 h# 40000000 reg
- external
- : open true ;
- : close ;
-finish-device
-
-new-device
- " cpu" device-name
- " cpu" device-type
- " " encode-string " translations" property
- 0 encode-phys h# 8000000 encode-int encode+ " available" property
- d# 32 encode-int " d-cache-block-size" property
- 8 encode-int " d-cache-sets" property
- d# 32768 encode-int " d-cache-size" property
- d# 32 encode-int " i-cache-block-size" property
- 8 encode-int " i-cache-sets" property
- d# 32768 encode-int " i-cache-size" property
- " " encode-string " cache-unified" property
- 2 encode-int " i-tlb-sets" property
- d# 128 encode-int " i-tlb-size" property
- 2 encode-int " d-tlb-sets" property
- d# 128 encode-int " d-tlb-size" property
- " " encode-string " tlb-split" property
- 2 encode-int " tlb-sets" property
- d# 256 encode-int " tlb-size" property
- " " encode-string " performance-monitor" property
- " " encode-string " graphics" property
- 4 encode-int " reservation-granule-size" property
- d# 25000000 encode-int " timebase-frequency" property
- d# 300000000 encode-int " clock-frequency" property
- d# 66000000 encode-int " bus-frequency" property
- h# 88201 encode-int " cpu-version" property
- 0 encode-int " reg" property
-finish-device
-
-" /pci" find-device
- h# 01000000 encode-int 0 encode-int encode+ 0 encode-int encode+
- h# 80000000 encode-int encode+ 0 encode-int encode+
- h# 01000000 encode-int encode+
- h# 02000000 encode-int encode+ 0 encode-int encode+ 0 encode-int encode+
- h# C0000000 encode-int encode+ 0 encode-int encode+
- h# 08000000 encode-int encode+
- " ranges" property
- " IBM,CPC710" model
- h# FF5F7700 encode-int " 8259-interrupt-acknowledge" property
- h# 0000F800 encode-int 0 encode-int encode+ 0 encode-int encode+
- 7 encode-int encode+
- " interrupt-map-mask" property
- 1 encode-int " #interrupt-cells" property
- h# 80000000 encode-int " system-dma-base" property
- d# 33333333 encode-int " clock-frequency" property
- " " encode-string " primary-bridge" property
- 0 encode-int " pci-bridge-number" property
- h# FF500000 encode-int h# 100000 encode-int encode+ " reg" property
- 0 encode-int 0 encode-int encode+ " bus-range" property
-
-new-device
- " isa" device-name
- " isa" device-type
- 2 encode-int " #address-cells" property
- 1 encode-int " #size-cells" property
-
- external
- : open true ;
- : close ;
-
-finish-device
-
-: ?devalias ( alias-str alias-len device-str device-len --
- \ alias-str alias-len false | true )
- active-package >r
- " /aliases" find-device
- \ 2dup ." Checking " type
- 2dup find-dev if \ check if device exists
- drop
- 2over find-dev if \ do we already have an alias?
- \ ." alias exists" cr
- drop 2drop false
- else
- \ ." device exists" cr
- encode-string
- 2swap property
- true
- then
- else
- \ ." device doesn't exist" cr
- 2drop false
- then
- r> active-package!
- ;
-
-:noname
- " hd"
- " /pci/pci-ata/ata-1/disk@0" ?devalias not if
- " /pci/pci-ata/ata-1/disk@1" ?devalias not if
- " /pci/pci-ata/ata-2/disk@0" ?devalias not if
- " /pci/pci-ata/ata-2/disk@1" ?devalias not if
- 2drop ." No disk found." cr
- then
- then
- then
- then
-
- " cdrom"
- " /pci/pci-ata/ata-1/cdrom@0" ?devalias not if
- " /pci/pci-ata/ata-1/cdrom@1" ?devalias not if
- " /pci/pci-ata/ata-2/cdrom@0" ?devalias not if
- " /pci/pci-ata/ata-2/cdrom@1" ?devalias not if
- 2drop ." No cdrom found" cr
- then
- then
- then
- then
-; SYSTEM-initializer
-
-new-device
- " ide" device-name
- " ide" device-type
- " WINBOND,82C553" model
- h# 28 encode-int " max-latency" property
- h# 2 encode-int " min-grant" property
- h# 1 encode-int " devsel-speed" property
- h# 0 encode-int " subsystem-vendor-id" property
- h# 0 encode-int " subsystem-id" property
- h# 1018A encode-int " class-code" property
- h# 5 encode-int " revision-id" property
- h# 105 encode-int " device-id" property
- h# 10AD encode-int " vendor-id" property
- h# 1003110 encode-int 0 encode-int encode+ h# 10020 encode-int encode+
- h# 10 encode-int encode+ 0 encode-int encode+
- h# 1003114 encode-int 0 encode-int encode+ h# 10030 encode-int encode+
- h# 4 encode-int encode+ 0 encode-int encode+
- h# 1003118 encode-int 0 encode-int encode+ h# 10040 encode-int encode+
- h# 10 encode-int encode+ 0 encode-int encode+
- h# 100311C encode-int 0 encode-int encode+ h# 10034 encode-int encode+
- h# 4 encode-int encode+ 0 encode-int encode+
- h# 1003120 encode-int 0 encode-int encode+ h# 10050 encode-int encode+
- h# 10 encode-int encode+ 0 encode-int encode+
- h# 1003124 encode-int 0 encode-int encode+ h# 10060 encode-int encode+
- h# 10 encode-int encode+ 0 encode-int encode+
- " assigned-addresses" property
- h# 3100 encode-int 0 encode-int encode+ 0 encode-int encode+
- 0 encode-int encode+ 0 encode-int encode+
- h# 1003110 encode-int 0 encode-int encode+ h# 0 encode-int encode+
- h# 10 encode-int encode+ 0 encode-int encode+
- h# 1003114 encode-int 0 encode-int encode+ h# 0 encode-int encode+
- h# 4 encode-int encode+ 0 encode-int encode+
- h# 1003118 encode-int 0 encode-int encode+ h# 0 encode-int encode+
- h# 10 encode-int encode+ 0 encode-int encode+
- h# 100311C encode-int 0 encode-int encode+ h# 0 encode-int encode+
- h# 4 encode-int encode+ 0 encode-int encode+
- h# 1003120 encode-int 0 encode-int encode+ h# 0 encode-int encode+
- h# 10 encode-int encode+ 0 encode-int encode+
- h# 1003124 encode-int 0 encode-int encode+ h# 0 encode-int encode+
- h# 10 encode-int encode+ 0 encode-int encode+
- " reg" property
-finish-device
-
-new-device
- " ethernet" device-name
- " network" device-type
- " AMD,79C973" model
- h# 3800 encode-int 0 encode-int encode+ 0 encode-int encode+
- 0 encode-int encode+ 0 encode-int encode+
- " reg" property
-finish-device
-
-" /pci/isa" find-device
- 0 0 " assigned-addresses" property
- 0 0 " ranges" property
- 0 encode-int " slot-names" property
- d# 8333333 encode-int " clock-frequency" property
- 0 encode-int " eisa-slots" property
- 2 encode-int " #interrupt-cells" property
- " W83C553F" encode-string " compatible" property
- " WINBOND,82C553" model
- 0 encode-int " max-latency" property
- 0 encode-int " min-grant" property
- 1 encode-int " devsel-speed" property
- 0 encode-int " subsystem-vendor-id" property
- 0 encode-int " subsystem-id" property
- h# 60100 encode-int " class-code" property
- h# 10 encode-int " revision-id" property
- h# 565 encode-int " device-id" property
- h# 10AD encode-int " vendor-id" property
- h# 3000 encode-int 0 encode-int encode+ 0 encode-int encode+
- 0 encode-int encode+ 0 encode-int encode+ " reg" property
-
-new-device
- " rtc" device-name
- " rtc" device-type
- " DS17285S" model
- " MC146818" encode-string
- " DS17285S" encode-string encode+
- " pnpPNP,b00" encode-string encode+ " compatible" property
- 8 encode-int 0 encode-int encode+ " interrupts" property
- h# 70 encode-int 1 encode-int encode+
- 2 encode-int encode+ " reg" property
-finish-device
-
-new-device
- " interrupt-controller" device-name
- " interrupt-controller" device-type
- " 8259" model
- " " encode-string " interrupt-controller" property
- 2 encode-int " #interrupt-cells" property
- 1 encode-int
- 2 encode-int encode+
- 3 encode-int encode+
- 6 encode-int encode+
- " reserved-interrupts" property
- " 8259" encode-string
- " chrp,iic" encode-string encode+
- " compatible" property
- h# 20 encode-int 1 encode-int encode+
- 2 encode-int encode+ " reg" property
-finish-device
-
-new-device
- " serial" device-name
- " serial" device-type
- " no" encode-string " ctsrts" property
- " no" encode-string " xon" property
- " no" encode-string " parity" property
- d# 115200 encode-int " bps" property
- 1 encode-int " stop-bits" property
- 8 encode-int " data-bits" property
- h# 70800 encode-int " divisor" property
- h# 708000 encode-int " clock-frequency" property
- 4 encode-int 0 encode-int encode+ " interrupts" property
- h# 3F8 encode-int 1 encode-int encode+
- 8 encode-int encode+ " reg" property
-finish-device
-
-" /pci" find-device
- " /pci/isa/interrupt-controller" find-dev if
- encode-int " interrupt-parent" property
- then
- h# 3800 encode-int 0 encode-int encode+
- 0 encode-int encode+ 1 encode-int encode+
- " /pci/isa/interrupt-controller" find-dev if
- encode-int encode+
- then
- h# 0C encode-int encode+ 1 encode-int encode+
- " interrupt-map" property
-
-" /pci/isa" find-device
- " /pci/isa/interrupt-controller" find-dev if
- encode-int " interrupt-parent" property
- then
-
-\ -------------------------------------------------------------
-\ /packages
-\ -------------------------------------------------------------
-
-" /packages" find-device
-
- " packages" device-name
- external
- \ allow packages to be opened with open-dev
- : open true ;
- : close ;
-
-\ /packages/terminal-emulator
-new-device
- " terminal-emulator" device-name
- external
- : open true ;
- : close ;
- \ : write ( addr len -- actual )
- \ dup -rot type
- \ ;
-finish-device
-
-\ -------------------------------------------------------------
-\ The END
-\ -------------------------------------------------------------
-device-end
diff --git a/qemu/roms/openbios/arch/ppc/briq/vfd.c b/qemu/roms/openbios/arch/ppc/briq/vfd.c
deleted file mode 100644
index ffc87a079..000000000
--- a/qemu/roms/openbios/arch/ppc/briq/vfd.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Creation Date: <2004/08/28 17:29:43 greg>
- * Time-stamp: <2004/08/28 17:29:43 greg>
- *
- * <vfd.c>
- *
- * Simple text console
- *
- * Copyright (C) 2004 Greg Watson
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation
- *
- */
-
-#include "config.h"
-#include "libopenbios/bindings.h"
-#include "briq/briq.h"
-
-static int vfd_is_open;
-
-static int
-vfd_init( void )
-{
- vfd_is_open = 1;
- return 0;
-}
-
-void
-vfd_close( void )
-{
-}
-
-int
-vfd_draw_str( const char *str )
-{
- if (!vfd_is_open)
- vfd_init();
-
- return 0;
-}