/[gxemul]/trunk/src/include/arcbios.h
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/src/include/arcbios.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 4 by dpavlin, Mon Oct 8 16:18:00 2007 UTC revision 28 by dpavlin, Mon Oct 8 16:20:26 2007 UTC
# Line 2  Line 2 
2  #define ARCBIOS_H  #define ARCBIOS_H
3    
4  /*  /*
5   *  Copyright (C) 2004-2005  Anders Gavare.  All rights reserved.   *  Copyright (C) 2004-2006  Anders Gavare.  All rights reserved.
6   *   *
7   *  Redistribution and use in source and binary forms, with or without   *  Redistribution and use in source and binary forms, with or without
8   *  modification, are permitted provided that the following conditions are met:   *  modification, are permitted provided that the following conditions are met:
# Line 28  Line 28 
28   *  SUCH DAMAGE.   *  SUCH DAMAGE.
29   *   *
30   *   *
31   *  $Id: arcbios.h,v 1.4 2005/01/29 14:34:22 debug Exp $   *  $Id: arcbios.h,v 1.13 2006/06/30 20:22:54 debug Exp $
32   *   *
33   *  Headerfile for src/arcbios.c.   *  Headerfile for src/arcbios.c.
34   *   *
# Line 41  Line 41 
41    
42  struct cpu;  struct cpu;
43    
 #define ARC_CONSOLE_MAX_X       80  
 #define ARC_CONSOLE_MAX_Y       30  
   
44  /*  arcbios.c:  */  /*  arcbios.c:  */
45  void arcbios_add_string_to_component(char *string, uint64_t component);  void arcbios_add_string_to_component(struct machine *machine,
46  void arcbios_get_dsp_stat(struct cpu *cpu, struct arcbios_dsp_stat *dspstat);          char *string, uint64_t component);
47  void arcbios_console_init(struct cpu *cpu,  void arcbios_register_scsicontroller(struct machine *machine,
48          uint64_t vram, uint64_t ctrlregs, int maxx, int maxy);          uint64_t scsicontroller_component);
49  void arcbios_register_scsicontroller(uint64_t scsicontroller_component);  uint64_t arcbios_get_scsicontroller(struct machine *machine);
 uint64_t arcbios_get_scsicontroller(void);  
50  void arcbios_add_memory_descriptor(struct cpu *cpu,  void arcbios_add_memory_descriptor(struct cpu *cpu,
51          uint64_t base, uint64_t len, int arctype);          uint64_t base, uint64_t len, int arctype);
52  uint64_t arcbios_addchild_manual(struct cpu *cpu,  uint64_t arcbios_addchild_manual(struct cpu *cpu,
# Line 59  uint64_t arcbios_addchild_manual(struct Line 55  uint64_t arcbios_addchild_manual(struct
55          char *identifier, uint64_t parent, void *config_data,          char *identifier, uint64_t parent, void *config_data,
56          size_t config_len);          size_t config_len);
57  int arcbios_emul(struct cpu *cpu);  int arcbios_emul(struct cpu *cpu);
 void arcbios_set_64bit_mode(int enable);  
58  void arcbios_set_default_exception_handler(struct cpu *cpu);  void arcbios_set_default_exception_handler(struct cpu *cpu);
59  void arcbios_init(void);  
60    void arcbios_console_init(struct machine *machine,
61            uint64_t vram, uint64_t ctrlregs);
62    void arcbios_init(struct machine *machine, int is64bit, uint64_t sgi_ram_offset,
63            char *primary_ether_string, uint8_t *primary_ether_macaddr);
64    
65    
66  /*  For internal use in arcbios.c:  */  /*  For internal use in arcbios.c:  */
# Line 80  struct emul_arc_child64 { Line 79  struct emul_arc_child64 {
79          struct arcbios_component64      component;          struct arcbios_component64      component;
80  };  };
81    
82    #define ARC_BOOTSTR_BUFLEN              1000
83    
84    
85    /*
86     *  Problem: kernels seem to be loaded at low addresses in RAM, so
87     *  storing environment strings and memory descriptors there is a bad
88     *  idea. They are stored at 0xbfc..... instead.  The ARC SPB must
89     *  be at physical address 0x1000 though.
90     */
91    
92    #define SGI_SPB_ADDR            0xffffffff80001000ULL
93    /*  0xbfc10000 is firmware callback vector stuff  */
94    #define ARC_FIRMWARE_VECTORS    0xffffffffbfc80000ULL
95    #define ARC_FIRMWARE_ENTRIES    0xffffffffbfc88000ULL
96    #define ARC_ARGV_START          0xffffffffbfc90000ULL
97    #define ARC_ENV_STRINGS         0xffffffffbfc98000ULL
98    #define ARC_ENV_POINTERS        0xffffffffbfc9d000ULL
99    #define SGI_SYSID_ADDR          0xffffffffbfca1800ULL
100    #define ARC_DSPSTAT_ADDR        0xffffffffbfca1c00ULL
101    #define ARC_MEMDESC_ADDR        0xffffffffbfca1c80ULL
102    #define ARC_CONFIG_DATA_ADDR    0xffffffffbfca2000ULL
103    #define FIRST_ARC_COMPONENT     0xffffffffbfca8000ULL
104    #define ARC_PRIVATE_VECTORS     0xffffffffbfcb0000ULL
105    #define ARC_PRIVATE_ENTRIES     0xffffffffbfcb8000ULL
106    
107    
108  #endif  /*  ARCBIOS_H  */  #endif  /*  ARCBIOS_H  */

Legend:
Removed from v.4  
changed lines
  Added in v.28

  ViewVC Help
Powered by ViewVC 1.1.26