aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ia64/sn/fakeprom
diff options
context:
space:
mode:
Diffstat (limited to 'arch/ia64/sn/fakeprom')
-rw-r--r--arch/ia64/sn/fakeprom/README2
-rw-r--r--arch/ia64/sn/fakeprom/fpmem.c52
-rw-r--r--arch/ia64/sn/fakeprom/fpmem.h33
-rw-r--r--arch/ia64/sn/fakeprom/fpromasm.S18
-rw-r--r--arch/ia64/sn/fakeprom/fw-emu.c56
-rw-r--r--arch/ia64/sn/fakeprom/klgraph_init.c330
-rw-r--r--arch/ia64/sn/fakeprom/main.c18
-rw-r--r--arch/ia64/sn/fakeprom/make_textsym7
8 files changed, 163 insertions, 353 deletions
diff --git a/arch/ia64/sn/fakeprom/README b/arch/ia64/sn/fakeprom/README
index 4168c908ca198..9d9a149fec8de 100644
--- a/arch/ia64/sn/fakeprom/README
+++ b/arch/ia64/sn/fakeprom/README
@@ -103,7 +103,7 @@ amount of memory present on nodes 0-3.
1GB*<dn>, where dn is the digit number. The amount of memory
is 8MB*2**<d>. (If <d> = 0, the memory size is 0).
- SN1 doesnt support dimms this small but small memory systems
+ SN1 doesn't support dimms this small but small memory systems
boot faster on Medusa.
diff --git a/arch/ia64/sn/fakeprom/fpmem.c b/arch/ia64/sn/fakeprom/fpmem.c
index d59234d709eb3..360631871abf3 100644
--- a/arch/ia64/sn/fakeprom/fpmem.c
+++ b/arch/ia64/sn/fakeprom/fpmem.c
@@ -13,7 +13,7 @@
* FPROM EFI memory descriptor build routines
*
* - Routines to build the EFI memory descriptor map
- * - Should also be usable by the SGI SN1 prom to convert
+ * - Should also be usable by the SGI prom to convert
* klconfig to efi_memmap
*/
@@ -53,10 +53,7 @@ sn_config_t *sn_config ;
#define KERNEL_SIZE (4*MB)
#define PROMRESERVED_SIZE (1*MB)
-#ifdef CONFIG_IA64_SGI_SN1
-#define PHYS_ADDRESS(_n, _x) (((long)_n<<33) | (long)_x)
-#define MD_BANK_SHFT 30
-#else
+#ifdef SGI_SN2
#define PHYS_ADDRESS(_n, _x) (((long)_n<<38) | (long)_x | 0x3000000000UL)
#define MD_BANK_SHFT 34
#endif
@@ -77,7 +74,7 @@ GetNumCpus(void)
return sn_config->cpus;
}
-/* For SN1, get the index th nasid */
+/* For SN, get the index th nasid */
int
GetNasid(int index)
@@ -104,40 +101,7 @@ IsCpuPresent(int cnode, int cpu)
* actually disabled etc.
*/
-#ifdef CONFIG_IA64_SGI_SN1
-int
-IsBankPresent(int index, node_memmap_t nmemmap)
-{
- switch (index) {
- case 0:return nmemmap.b0;
- case 1:return nmemmap.b1;
- case 2:return nmemmap.b2;
- case 3:return nmemmap.b3;
- case 4:return nmemmap.b4;
- case 5:return nmemmap.b5;
- case 6:return nmemmap.b6;
- case 7:return nmemmap.b7;
- default:return -1 ;
- }
-}
-
-int
-GetBankSize(int index, node_memmap_t nmemmap)
-{
- switch (index) {
- case 0:
- case 1:return nmemmap.b01size;
- case 2:
- case 3:return nmemmap.b23size;
- case 4:
- case 5:return nmemmap.b45size;
- case 6:
- case 7:return nmemmap.b67size;
- default:return -1 ;
- }
-}
-
-#else
+#ifdef SGI_SN2
int
IsBankPresent(int index, node_memmap_t nmemmap)
{
@@ -192,12 +156,12 @@ build_efi_memmap(void *md, int mdsize)
for (cnode=0;cnode<numnodes;cnode++) {
nasid = GetNasid(cnode) ;
membank_info = GetMemBankInfo(cnode) ;
- for (bank=0;bank<NR_BANKS_PER_NODE;bank++) {
+ for (bank=0;bank<MD_BANKS_PER_NODE;bank++) {
if (IsBankPresent(bank, membank_info)) {
bsize = GetBankSize(bank, membank_info) ;
paddr = PHYS_ADDRESS(nasid, (long)bank<<MD_BANK_SHFT);
numbytes = BankSizeBytes(bsize);
-#ifdef CONFIG_IA64_SGI_SN2
+#ifdef SGI_SN2
/*
* Ignore directory.
* Shorten memory chunk by 1 page - makes a better
@@ -218,7 +182,7 @@ build_efi_memmap(void *md, int mdsize)
}
/*
- * Check for the node 0 hole. Since banks can't
+ * Check for the node 0 hole. Since banks cant
* span the hole, we only need to check if the end of
* the range is the end of the hole.
*/
@@ -226,7 +190,7 @@ build_efi_memmap(void *md, int mdsize)
numbytes -= NODE0_HOLE_SIZE;
/*
* UGLY hack - we must skip overr the kernel and
- * PROM runtime services but we don't exactly where it is.
+ * PROM runtime services but we dont exactly where it is.
* So lets just reserve:
* node 0
* 0-1MB for PAL
diff --git a/arch/ia64/sn/fakeprom/fpmem.h b/arch/ia64/sn/fakeprom/fpmem.h
index 2c687682545c4..e6f1b5bb95ca0 100644
--- a/arch/ia64/sn/fakeprom/fpmem.h
+++ b/arch/ia64/sn/fakeprom/fpmem.h
@@ -4,13 +4,13 @@
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
- * Copyright (C) 2000-2002 Silicon Graphics, Inc. All rights reserved.
+ * Copyright (C) 2000-2003 Silicon Graphics, Inc. All rights reserved.
*/
#include <linux/config.h>
/*
- * Structure of the mem config of the node as a SN1 MI reg
+ * Structure of the mem config of the node as a SN MI reg
* Medusa supports this reg config.
*
* BankSize nibble to bank size mapping
@@ -24,32 +24,7 @@
#define MBSHIFT 20
-#ifdef CONFIG_IA64_SGI_SN1
-typedef struct node_memmap_s
-{
- unsigned int b0 :1, /* 0 bank 0 present */
- b1 :1, /* 1 bank 1 present */
- r01 :2, /* 2-3 reserved */
- b01size :4, /* 4-7 Size of bank 0 and 1 */
- b2 :1, /* 8 bank 2 present */
- b3 :1, /* 9 bank 3 present */
- r23 :2, /* 10-11 reserved */
- b23size :4, /* 12-15 Size of bank 2 and 3 */
- b4 :1, /* 16 bank 4 present */
- b5 :1, /* 17 bank 5 present */
- r45 :2, /* 18-19 reserved */
- b45size :4, /* 20-23 Size of bank 4 and 5 */
- b6 :1, /* 24 bank 6 present */
- b7 :1, /* 25 bank 7 present */
- r67 :2, /* 26-27 reserved */
- b67size :4; /* 28-31 Size of bank 6 and 7 */
-} node_memmap_t ;
-
-/* Support the medusa hack for 8M/16M/32M nodes */
-#define SN1_BANK_SIZE_SHIFT (MBSHIFT+6) /* 64 MB */
-#define BankSizeBytes(bsize) ((bsize<6) ? (1<<((bsize-1)+SN1_BANK_SIZE_SHIFT)) :\
- (1<<((bsize-9)+MBSHIFT)))
-#else
+#ifdef SGI_SN2
typedef struct node_memmap_s
{
unsigned int b0size :3, /* 0-2 bank 0 size */
@@ -73,6 +48,8 @@ typedef struct node_memmap_s
#define SN2_BANK_SIZE_SHIFT (MBSHIFT+6) /* 64 MB */
#define BankPresent(bsize) (bsize<6)
#define BankSizeBytes(bsize) (BankPresent(bsize) ? 1UL<<((bsize)+SN2_BANK_SIZE_SHIFT) : 0)
+#define MD_BANKS_PER_NODE 4
+#define MD_BANKSIZE (1UL << 34)
#endif
typedef struct sn_memmap_s
diff --git a/arch/ia64/sn/fakeprom/fpromasm.S b/arch/ia64/sn/fakeprom/fpromasm.S
index 2c9c60389239d..aa24f6f1f86b9 100644
--- a/arch/ia64/sn/fakeprom/fpromasm.S
+++ b/arch/ia64/sn/fakeprom/fpromasm.S
@@ -8,7 +8,7 @@
* Copyright (C) 1998-2000 Hewlett-Packard Co
* Copyright (C) 1998-2000 David Mosberger-Tang <davidm@hpl.hp.com>
*
- * Copyright (C) 2000-2002 Silicon Graphics, Inc. All rights reserved.
+ * Copyright (C) 2000-2003 Silicon Graphics, Inc. All rights reserved.
*/
@@ -57,9 +57,7 @@
* be 0x00000ffffc000000, but on snia we use the (inverse swizzled)
* IOSPEC_BASE value
*/
-#ifdef CONFIG_IA64_SGI_SN1
-#define IOPB_PA 0xc0000FFFFC000000
-#else
+#ifdef SGI_SN2
#define IOPB_PA 0xc000000fcc000000
#endif
@@ -84,10 +82,7 @@ _start:
// Isolate node number we are running on.
mov r6 = ip;;
-#ifdef CONFIG_IA64_SGI_SN1
- shr r5 = r6,33;; // r5 = node number
- shl r6 = r5,33 // r6 = base memory address of node
-#else
+#ifdef SGI_SN2
shr r5 = r6,38 // r5 = node number
dep r6 = 0,r6,0,36 // r6 = base memory address of node
@@ -99,7 +94,7 @@ _start:
or r1 = r1,r6 // Relocate to boot node
// Lets figure out who we are & put it in the LID register.
-#ifdef CONFIG_IA64_SGI_SN2
+#ifdef SGI_SN2
// On SN2, we (currently) pass the cpu number in r10 at boot
and r25=3,r10;;
movl r16=0x8000008110000400 // Allow IPIs
@@ -324,10 +319,7 @@ static: cmp.eq p6,p7=6,r28 /* PAL_PTCE_INFO */
1: cmp.eq p6,p7=8,r28 /* PAL_VM_SUMMARY */
(p7) br.cond.sptk.few 1f
movl r8=0
-#ifdef CONFIG_IA64_SGI_SN1
- movl r9=0x0203083001151059
- movl r10=0x1232
-#else
+#ifdef SGI_SN2
movl r9=0x0203083001151065
movl r10=0x183f
#endif
diff --git a/arch/ia64/sn/fakeprom/fw-emu.c b/arch/ia64/sn/fakeprom/fw-emu.c
index 792abb0a59b99..ce5c919b2f0aa 100644
--- a/arch/ia64/sn/fakeprom/fw-emu.c
+++ b/arch/ia64/sn/fakeprom/fw-emu.c
@@ -5,7 +5,7 @@
* Copyright (C) 1998-2000 David Mosberger-Tang <davidm@hpl.hp.com>
*
*
- * Copyright (C) 2000-2002 Silicon Graphics, Inc. All rights reserved.
+ * Copyright (C) 2000-2003 Silicon Graphics, Inc. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of version 2 of the GNU General Public License
@@ -36,14 +36,13 @@
* http://oss.sgi.com/projects/GenInfo/NoticeExplan
*/
#include <linux/config.h>
-#include <asm/sn/pda.h>
#include <linux/efi.h>
#include <asm/pal.h>
#include <asm/sal.h>
#include <asm/sn/sn_sal.h>
#include <asm/processor.h>
#include <asm/sn/sn_cpuid.h>
-#ifdef CONFIG_IA64_SGI_SN2
+#ifdef SGI_SN2
#include <asm/sn/sn2/addrs.h>
#include <asm/sn/sn2/shub_mmr.h>
#endif
@@ -69,10 +68,7 @@
#define ACPI_SLIT_REVISION 1
#define OEMID "SGI"
-#ifdef CONFIG_IA64_SGI_SN1
-#define PRODUCT "SN1"
-#define PROXIMITY_DOMAIN(nasid) (nasid)
-#else
+#ifdef SGI_SN2
#define PRODUCT "SN2"
#define PROXIMITY_DOMAIN(nasid) (((nasid)>>1) & 255)
#endif
@@ -100,12 +96,7 @@
typedef union ia64_nasid_va {
struct {
-#if defined(CONFIG_IA64_SGI_SN1)
- unsigned long off : 33; /* intra-region offset */
- unsigned long nasid : 7; /* NASID */
- unsigned long off2 : 21; /* fill */
- unsigned long reg : 3; /* region number */
-#elif defined(CONFIG_IA64_SGI_SN2)
+#if defined(SGI_SN2)
unsigned long off : 36; /* intra-region offset */
unsigned long attr : 2;
unsigned long nasid : 11; /* NASID */
@@ -125,9 +116,7 @@ typedef struct {
#define IS_VIRTUAL_MODE() ({struct ia64_psr psr; asm("mov %0=psr" : "=r"(psr)); psr.dt;})
#define ADDR_OF(p) (IS_VIRTUAL_MODE() ? ((void*)((long)(p)+PAGE_OFFSET)) : ((void*) (p)))
-#if defined(CONFIG_IA64_SGI_SN1)
-#define __fwtab_pa(n,x) ({ia64_nasid_va _v; _v.l = (long) (x); _v.f.nasid = (x) ? (n) : 0; _v.f.reg = 0; _v.l;})
-#elif defined(CONFIG_IA64_SGI_SN2)
+#if defined(SGI_SN2)
#define __fwtab_pa(n,x) ({ia64_nasid_va _v; _v.l = (long) (x); _v.f.nasid = (x) ? (n) : 0; _v.f.reg = 0; _v.f.attr = 3; _v.l;})
#endif
@@ -208,7 +197,7 @@ efi_unimplemented (void)
return EFI_UNSUPPORTED;
}
-#ifdef CONFIG_IA64_SGI_SN2
+#ifdef SGI_SN2
#undef cpu_physical_id
#define cpu_physical_id(cpuid) ((ia64_get_lid() >> 16) & 0xffff)
@@ -301,7 +290,7 @@ sal_emulator (long index, unsigned long in1, unsigned long in2,
;
} else if (index == SAL_UPDATE_PAL) {
;
-#ifdef CONFIG_IA64_SGI_SN2
+#ifdef SGI_SN2
} else if (index == SN_SAL_LOG_CE) {
#ifdef ajmtestcpei
fprom_send_cpei();
@@ -501,9 +490,7 @@ sys_fw_init (const char *args, int arglen, int bsp)
/*
* Pass the parameter base address to the build_efi_xxx routines.
*/
-#if defined(CONFIG_IA64_SGI_SN1)
- build_init(8LL*GB*base_nasid);
-#else
+#if defined(SGI_SN2)
build_init(0x3000000000UL | ((long)base_nasid<<38));
#endif
@@ -559,7 +546,7 @@ sys_fw_init (const char *args, int arglen, int bsp)
* You can also edit this line to pass other arguments to the kernel.
* Note: disable kernel text replication.
*/
- strcpy(cmd_line, "init=/bin/bash ktreplicate=0");
+ strcpy(cmd_line, "init=/bin/bash console=ttyS0");
memset(efi_systab, 0, sizeof(efi_systab));
efi_systab->hdr.signature = EFI_SYSTEM_TABLE_SIGNATURE;
@@ -625,10 +612,7 @@ sys_fw_init (const char *args, int arglen, int bsp)
lsapic20->header.length = sizeof(struct acpi_table_lsapic);
lsapic20->acpi_id = cnode*4+cpu;
lsapic20->flags.enabled = 1;
-#if defined(CONFIG_IA64_SGI_SN1)
- lsapic20->eid = cpu;
- lsapic20->id = nasid;
-#else
+#if defined(SGI_SN2)
lsapic20->eid = nasid&0xffff;
lsapic20->id = (cpu<<4) | (nasid>>16);
#endif
@@ -649,12 +633,9 @@ sys_fw_init (const char *args, int arglen, int bsp)
srat_memory_affinity->proximity_domain = PROXIMITY_DOMAIN(nasid);
srat_memory_affinity->base_addr_lo = 0;
srat_memory_affinity->length_lo = 0;
-#if defined(CONFIG_IA64_SGI_SN1)
- srat_memory_affinity->base_addr_hi = nasid<<1;
- srat_memory_affinity->length_hi = SN1_NODE_SIZE>>32;
-#else
+#if defined(SGI_SN2)
srat_memory_affinity->base_addr_hi = (nasid<<6) | (3<<4);
- srat_memory_affinity->length_hi = SN2_NODE_SIZE>>32;
+ srat_memory_affinity->length_hi = (MD_BANKSIZE*MD_BANKS_PER_NODE)>>32;
#endif
srat_memory_affinity->memory_type = ACPI_ADDRESS_RANGE_MEMORY;
srat_memory_affinity->flags.enabled = 1;
@@ -671,10 +652,7 @@ sys_fw_init (const char *args, int arglen, int bsp)
srat_cpu_affinity->header.length = sizeof(struct acpi_table_processor_affinity);
srat_cpu_affinity->proximity_domain = PROXIMITY_DOMAIN(nasid);
srat_cpu_affinity->flags.enabled = 1;
-#if defined(CONFIG_IA64_SGI_SN1)
- srat_cpu_affinity->apic_id = nasid;
- srat_cpu_affinity->lsapic_eid = cpu;
-#else
+#if defined(SGI_SN2)
srat_cpu_affinity->lsapic_eid = nasid&0xffff;
srat_cpu_affinity->apic_id = (cpu<<4) | (nasid>>16);
#endif
@@ -708,7 +686,7 @@ sys_fw_init (const char *args, int arglen, int bsp)
sal_systab->sal_b_rev_minor = 0x0; /* 1.00 */
strcpy(sal_systab->oem_id, "SGI");
- strcpy(sal_systab->product_id, "SN1");
+ strcpy(sal_systab->product_id, "SN2");
/* fill in an entry point: */
sal_ed->type = SAL_DESC_ENTRY_POINT;
@@ -757,7 +735,7 @@ sys_fw_init (const char *args, int arglen, int bsp)
sal_systab->checksum = -checksum;
/* If the checksum is correct, the kernel tries to use the
- * table. We don't build enough table & the kernel aborts.
+ * table. We dont build enough table & the kernel aborts.
* Note that the PROM hasd thhhe same problem!!
*/
@@ -786,9 +764,7 @@ sys_fw_init (const char *args, int arglen, int bsp)
for(cpu=0; cpu<CPUS_PER_NODE; cpu++) {
if (!IsCpuPresent(cnode, cpu))
continue;
-#ifdef CONFIG_IA64_SGI_SN1
- bsp_lid = (GetNasid(cnode)<<24) | (cpu<<16);
-#else
+#ifdef SGI_SN2
bsp_lid = (GetNasid(cnode)<<16) | (cpu<<28);
#endif
if (bsp-- > 0)
diff --git a/arch/ia64/sn/fakeprom/klgraph_init.c b/arch/ia64/sn/fakeprom/klgraph_init.c
index a431d9658ba61..9d382ab5aa281 100644
--- a/arch/ia64/sn/fakeprom/klgraph_init.c
+++ b/arch/ia64/sn/fakeprom/klgraph_init.c
@@ -4,7 +4,7 @@
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
- * Copyright (C) 1992 - 1997, 2000-2002 Silicon Graphics, Inc. All Rights Reserved.
+ * Copyright (C) 1992 - 1997, 2000-2003 Silicon Graphics, Inc. All Rights Reserved.
*/
@@ -49,41 +49,13 @@ void
klgraph_init(void)
{
-#ifdef CONFIG_IA64_SGI_SN1
u64 *temp;
-#endif
/*
* Initialize some hub/xbow registers that allows access to
* Xbridge etc. These are normally done in PROM.
*/
/* Write IOERR clear to clear the CRAZY bit in the status */
-#ifdef CONFIG_IA64_SGI_SN1
- *(volatile uint64_t *)0xc0000a0001c001f8 = (uint64_t)0xffffffff;
-
- /* set widget control register...setting bedrock widget id to b */
- *(volatile uint64_t *)0xc0000a0001c00020 = (uint64_t)0x801b;
-
- /* set io outbound widget access...allow all */
- *(volatile uint64_t *)0xc0000a0001c00110 = (uint64_t)0xff01;
-
- /* set io inbound widget access...allow all */
- *(volatile uint64_t *)0xc0000a0001c00118 = (uint64_t)0xff01;
-
- /* set io crb timeout to max */
- *(volatile uint64_t *)0xc0000a0001c003c0 = (uint64_t)0xffffff;
- *(volatile uint64_t *)0xc0000a0001c003c0 = (uint64_t)0xffffff;
-
- /* set local block io permission...allow all */
- *(volatile uint64_t *)0xc0000a0001e04010 = (uint64_t)0xfffffffffffffff;
-
- /* clear any errors */
- /* clear_ii_error(); medusa should have cleared these */
-
- /* set default read response buffers in bridge */
- *(volatile u32 *)0xc0000a000f000280L = 0xba98;
- *(volatile u32 *)0xc0000a000f000288L = 0xba98;
-#elif CONFIG_IA64_SGI_SN2
*(volatile uint64_t *)0xc000000801c001f8 = (uint64_t)0xffffffff;
/* set widget control register...setting bedrock widget id to a */
@@ -108,184 +80,126 @@ klgraph_init(void)
/* set default read response buffers in bridge */
// [PI] *(volatile u32 *)0xc00000080f000280L = 0xba98;
// [PI] *(volatile u32 *)0xc00000080f000288L = 0xba98;
-#endif /* CONFIG_IA64_SGI_SN1 */
-
-#ifdef CONFIG_IA64_SGI_SN1
-
- /*
- * kldir entries initialization - mankato
- */
- convert(0x8000000000002000, 0x0000000000000000, 0x0000000000000000);
- convert(0x8000000000002010, 0x0000000000000000, 0x0000000000000000);
- convert(0x8000000000002020, 0x0000000000000000, 0x0000000000000000);
- convert(0x8000000000002030, 0x0000000000000000, 0x0000000000000000);
- convert(0x8000000000002040, 0x434d5f53505f5357, 0x0000000000030000);
- convert(0x8000000000002050, 0x0000000000000000, 0x0000000000010000);
- convert(0x8000000000002060, 0x0000000000000001, 0x0000000000000000);
- convert(0x8000000000002070, 0x0000000000000000, 0x0000000000000000);
- convert(0x8000000000002080, 0x0000000000000000, 0x0000000000000000);
- convert(0x8000000000002090, 0x0000000000000000, 0x0000000000000000);
- convert(0x80000000000020a0, 0x0000000000000000, 0x0000000000000000);
- convert(0x80000000000020b0, 0x0000000000000000, 0x0000000000000000);
- convert(0x80000000000020c0, 0x434d5f53505f5357, 0x0000000000000000);
- convert(0x80000000000020d0, 0x0000000000002400, 0x0000000000000400);
- convert(0x80000000000020e0, 0x0000000000000001, 0x0000000000000000);
- convert(0x80000000000020f0, 0x0000000000000000, 0x0000000000000000);
- convert(0x8000000000002100, 0x434d5f53505f5357, 0x0000000000040000);
- convert(0x8000000000002110, 0x0000000000000000, 0xffffffffffffffff);
- convert(0x8000000000002120, 0x0000000000000001, 0x0000000000000000);
- convert(0x8000000000002130, 0x0000000000000000, 0x0000000000000000);
- convert(0x8000000000002140, 0x0000000000000000, 0x0000000000000000);
- convert(0x8000000000002150, 0x0000000000000000, 0x0000000000000000);
- convert(0x8000000000002160, 0x0000000000000000, 0x0000000000000000);
- convert(0x8000000000002170, 0x0000000000000000, 0x0000000000000000);
- convert(0x8000000000002180, 0x434d5f53505f5357, 0x0000000000020000);
- convert(0x8000000000002190, 0x0000000000000000, 0x0000000000010000);
- convert(0x80000000000021a0, 0x0000000000000001, 0x0000000000000000);
- /*
- * klconfig entries initialization - mankato
- */
- convert(0x0000000000030000, 0x00000000beedbabe, 0x0000004800000000);
- convert(0x0000000000030010, 0x0003007000000018, 0x800002000f820178);
- convert(0x0000000000030020, 0x80000a000f024000, 0x800002000f800000);
- convert(0x0000000000030030, 0x0300fafa00012580, 0x00000000040f0000);
- convert(0x0000000000030040, 0x0000000000000000, 0x0003097000030070);
- convert(0x0000000000030050, 0x00030970000303b0, 0x0003181000033f70);
- convert(0x0000000000030060, 0x0003d51000037570, 0x0000000000038330);
- convert(0x0000000000030070, 0x0203110100030140, 0x0001000000000101);
- convert(0x0000000000030080, 0x0900000000000000, 0x000000004e465e67);
- convert(0x0000000000030090, 0x0003097000000000, 0x00030b1000030a40);
- convert(0x00000000000300a0, 0x00030cb000030be0, 0x000315a0000314d0);
- convert(0x00000000000300b0, 0x0003174000031670, 0x0000000000000000);
- convert(0x0000000000030100, 0x000000000000001a, 0x3350490000000000);
- convert(0x0000000000030110, 0x0000000000000037, 0x0000000000000000);
- convert(0x0000000000030140, 0x0002420100030210, 0x0001000000000101);
- convert(0x0000000000030150, 0x0100000000000000, 0xffffffffffffffff);
- convert(0x0000000000030160, 0x00030d8000000000, 0x0000000000030e50);
- convert(0x00000000000301c0, 0x0000000000000000, 0x0000000000030070);
- convert(0x00000000000301d0, 0x0000000000000025, 0x424f490000000000);
- convert(0x00000000000301e0, 0x000000004b434952, 0x0000000000000000);
- convert(0x0000000000030210, 0x00027101000302e0, 0x00010000000e4101);
- convert(0x0000000000030220, 0x0200000000000000, 0xffffffffffffffff);
- convert(0x0000000000030230, 0x00030f2000000000, 0x0000000000030ff0);
- convert(0x0000000000030290, 0x0000000000000000, 0x0000000000030140);
- convert(0x00000000000302a0, 0x0000000000000026, 0x7262490000000000);
- convert(0x00000000000302b0, 0x00000000006b6369, 0x0000000000000000);
- convert(0x00000000000302e0, 0x0002710100000000, 0x00010000000f3101);
- convert(0x00000000000302f0, 0x0500000000000000, 0xffffffffffffffff);
- convert(0x0000000000030300, 0x000310c000000000, 0x0003126000031190);
- convert(0x0000000000030310, 0x0003140000031330, 0x0000000000000000);
- convert(0x0000000000030360, 0x0000000000000000, 0x0000000000030140);
- convert(0x0000000000030370, 0x0000000000000029, 0x7262490000000000);
- convert(0x0000000000030380, 0x00000000006b6369, 0x0000000000000000);
- convert(0x0000000000030970, 0x0000000002010102, 0x0000000000000000);
- convert(0x0000000000030980, 0x000000004e465e67, 0xffffffff00000000);
- /* convert(0x00000000000309a0, 0x0000000000037570, 0x0000000100000000); */
- convert(0x00000000000309a0, 0x0000000000037570, 0xffffffff00000000);
- convert(0x00000000000309b0, 0x0000000000030070, 0x0000000000000000);
- convert(0x00000000000309c0, 0x000000000003f420, 0x0000000000000000);
- convert(0x0000000000030a40, 0x0000000002010125, 0x0000000000000000);
- convert(0x0000000000030a50, 0xffffffffffffffff, 0xffffffff00000000);
- convert(0x0000000000030a70, 0x0000000000037b78, 0x0000000000000000);
- convert(0x0000000000030b10, 0x0000000002010125, 0x0000000000000000);
- convert(0x0000000000030b20, 0xffffffffffffffff, 0xffffffff00000000);
- convert(0x0000000000030b40, 0x0000000000037d30, 0x0000000000000001);
- convert(0x0000000000030be0, 0x00000000ff010203, 0x0000000000000000);
- convert(0x0000000000030bf0, 0xffffffffffffffff, 0xffffffff000000ff);
- convert(0x0000000000030c10, 0x0000000000037ee8, 0x0100010000000200);
- convert(0x0000000000030cb0, 0x00000000ff310111, 0x0000000000000000);
- convert(0x0000000000030cc0, 0xffffffffffffffff, 0x0000000000000000);
- convert(0x0000000000030d80, 0x0000000002010104, 0x0000000000000000);
- convert(0x0000000000030d90, 0xffffffffffffffff, 0x00000000000000ff);
- convert(0x0000000000030db0, 0x0000000000037f18, 0x0000000000000000);
- convert(0x0000000000030dc0, 0x0000000000000000, 0x0003007000060000);
- convert(0x0000000000030de0, 0x0000000000000000, 0x0003021000050000);
- convert(0x0000000000030df0, 0x000302e000050000, 0x0000000000000000);
- convert(0x0000000000030e30, 0x0000000000000000, 0x000000000000000a);
- convert(0x0000000000030e50, 0x00000000ff00011a, 0x0000000000000000);
- convert(0x0000000000030e60, 0xffffffffffffffff, 0x0000000000000000);
- convert(0x0000000000030e80, 0x0000000000037fe0, 0x9e6e9e9e9e9e9e9e);
- convert(0x0000000000030e90, 0x000000000000bc6e, 0x0000000000000000);
- convert(0x0000000000030f20, 0x0000000002010205, 0x00000000d0020000);
- convert(0x0000000000030f30, 0xffffffffffffffff, 0x0000000e0000000e);
- convert(0x0000000000030f40, 0x000000000000000e, 0x0000000000000000);
- convert(0x0000000000030f50, 0x0000000000038010, 0x00000000000007ff);
- convert(0x0000000000030f70, 0x0000000000000000, 0x0000000022001077);
- convert(0x0000000000030fa0, 0x0000000000000000, 0x000000000003f4a8);
- convert(0x0000000000030ff0, 0x0000000000310120, 0x0000000000000000);
- convert(0x0000000000031000, 0xffffffffffffffff, 0xffffffff00000002);
- convert(0x0000000000031010, 0x000000000000000e, 0x0000000000000000);
- convert(0x0000000000031020, 0x0000000000038088, 0x0000000000000000);
- convert(0x00000000000310c0, 0x0000000002010205, 0x00000000d0020000);
- convert(0x00000000000310d0, 0xffffffffffffffff, 0x0000000f0000000f);
- convert(0x00000000000310e0, 0x000000000000000f, 0x0000000000000000);
- convert(0x00000000000310f0, 0x00000000000380b8, 0x00000000000007ff);
- convert(0x0000000000031120, 0x0000000022001077, 0x00000000000310a9);
- convert(0x0000000000031130, 0x00000000580211c1, 0x000000008009104c);
- convert(0x0000000000031140, 0x0000000000000000, 0x000000000003f4c0);
- convert(0x0000000000031190, 0x0000000000310120, 0x0000000000000000);
- convert(0x00000000000311a0, 0xffffffffffffffff, 0xffffffff00000003);
- convert(0x00000000000311b0, 0x000000000000000f, 0x0000000000000000);
- convert(0x00000000000311c0, 0x0000000000038130, 0x0000000000000000);
- convert(0x0000000000031260, 0x0000000000110106, 0x0000000000000000);
- convert(0x0000000000031270, 0xffffffffffffffff, 0xffffffff00000004);
- convert(0x0000000000031280, 0x000000000000000f, 0x0000000000000000);
- convert(0x00000000000312a0, 0x00000000ff110013, 0x0000000000000000);
- convert(0x00000000000312b0, 0xffffffffffffffff, 0xffffffff00000000);
- convert(0x00000000000312c0, 0x000000000000000f, 0x0000000000000000);
- convert(0x00000000000312e0, 0x0000000000110012, 0x0000000000000000);
- convert(0x00000000000312f0, 0xffffffffffffffff, 0xffffffff00000000);
- convert(0x0000000000031300, 0x000000000000000f, 0x0000000000000000);
- convert(0x0000000000031310, 0x0000000000038160, 0x0000000000000000);
- convert(0x0000000000031330, 0x00000000ff310122, 0x0000000000000000);
- convert(0x0000000000031340, 0xffffffffffffffff, 0xffffffff00000005);
- convert(0x0000000000031350, 0x000000000000000f, 0x0000000000000000);
- convert(0x0000000000031360, 0x0000000000038190, 0x0000000000000000);
- convert(0x0000000000031400, 0x0000000000310121, 0x0000000000000000);
- convert(0x0000000000031400, 0x0000000000310121, 0x0000000000000000);
- convert(0x0000000000031410, 0xffffffffffffffff, 0xffffffff00000006);
- convert(0x0000000000031420, 0x000000000000000f, 0x0000000000000000);
- convert(0x0000000000031430, 0x00000000000381c0, 0x0000000000000000);
- convert(0x00000000000314d0, 0x00000000ff010201, 0x0000000000000000);
- convert(0x00000000000314e0, 0xffffffffffffffff, 0xffffffff00000000);
- convert(0x0000000000031500, 0x00000000000381f0, 0x000030430000ffff);
- convert(0x0000000000031510, 0x000000000000ffff, 0x0000000000000000);
- convert(0x00000000000315a0, 0x00000020ff000201, 0x0000000000000000);
- convert(0x00000000000315b0, 0xffffffffffffffff, 0xffffffff00000001);
- convert(0x00000000000315d0, 0x0000000000038240, 0x00003f3f0000ffff);
- convert(0x00000000000315e0, 0x000000000000ffff, 0x0000000000000000);
- convert(0x0000000000031670, 0x00000000ff010201, 0x0000000000000000);
- convert(0x0000000000031680, 0xffffffffffffffff, 0x0000000100000002);
- convert(0x00000000000316a0, 0x0000000000038290, 0x000030430000ffff);
- convert(0x00000000000316b0, 0x000000000000ffff, 0x0000000000000000);
- convert(0x0000000000031740, 0x00000020ff000201, 0x0000000000000000);
- convert(0x0000000000031750, 0xffffffffffffffff, 0x0000000500000003);
- convert(0x0000000000031770, 0x00000000000382e0, 0x00003f3f0000ffff);
- convert(0x0000000000031780, 0x000000000000ffff, 0x0000000000000000);
-
- /*
- * GDA initialization - mankato
- */
- convert(0x8000000000002400, 0x0000000258464552, 0x000000000ead0000);
- convert(0x8000000000002480, 0xffffffff00010000, 0xffffffffffffffff);
- convert(0x8000000000002490, 0xffffffffffffffff, 0xffffffffffffffff);
- convert(0x80000000000024a0, 0xffffffffffffffff, 0xffffffffffffffff);
- convert(0x80000000000024b0, 0xffffffffffffffff, 0xffffffffffffffff);
- convert(0x80000000000024c0, 0xffffffffffffffff, 0xffffffffffffffff);
- convert(0x80000000000024d0, 0xffffffffffffffff, 0xffffffffffffffff);
- convert(0x80000000000024e0, 0xffffffffffffffff, 0xffffffffffffffff);
- convert(0x80000000000024f0, 0xffffffffffffffff, 0xffffffffffffffff);
- convert(0x8000000000002500, 0xffffffffffffffff, 0xffffffffffffffff);
- convert(0x8000000000002510, 0xffffffffffffffff, 0xffffffffffffffff);
- convert(0x8000000000002520, 0xffffffffffffffff, 0xffffffffffffffff);
- convert(0x8000000000002530, 0xffffffffffffffff, 0xffffffffffffffff);
- convert(0x8000000000002540, 0xffffffffffffffff, 0xffffffffffffffff);
- convert(0x8000000000002550, 0xffffffffffffffff, 0xffffffffffffffff);
- convert(0x8000000000002560, 0xffffffffffffffff, 0xffffffffffffffff);
- convert(0x8000000000002570, 0xffffffffffffffff, 0xffffffffffffffff);
- convert(0x8000000000002580, 0x000000000000ffff, 0x0000000000000000);
-#endif
-
+ /*
+ * klconfig entries initialization - mankato
+ */
+ convert(0xe000003000030000, 0x00000000beedbabe, 0x0000004800000000);
+ convert(0xe000003000030010, 0x0003007000000018, 0x800002000f820178);
+ convert(0xe000003000030020, 0x80000a000f024000, 0x800002000f800000);
+ convert(0xe000003000030030, 0x0300fafa00012580, 0x00000000040f0000);
+ convert(0xe000003000030040, 0x0000000000000000, 0x0003097000030070);
+ convert(0xe000003000030050, 0x00030970000303b0, 0x0003181000033f70);
+ convert(0xe000003000030060, 0x0003d51000037570, 0x0000000000038330);
+ convert(0xe000003000030070, 0x0203110100030140, 0x0001000000000101);
+ convert(0xe000003000030080, 0x0900000000000000, 0x000000004e465e67);
+ convert(0xe000003000030090, 0x0003097000000000, 0x00030b1000030a40);
+ convert(0xe0000030000300a0, 0x00030cb000030be0, 0x000315a0000314d0);
+ convert(0xe0000030000300b0, 0x0003174000031670, 0x0000000000000000);
+ convert(0xe000003000030100, 0x000000000000001a, 0x3350490000000000);
+ convert(0xe000003000030110, 0x0000000000000037, 0x0000000000000000);
+ convert(0xe000003000030140, 0x0002420100030210, 0x0001000000000101);
+ convert(0xe000003000030150, 0x0100000000000000, 0xffffffffffffffff);
+ convert(0xe000003000030160, 0x00030d8000000000, 0x0000000000030e50);
+ convert(0xe0000030000301c0, 0x0000000000000000, 0x0000000000030070);
+ convert(0xe0000030000301d0, 0x0000000000000025, 0x424f490000000000);
+ convert(0xe0000030000301e0, 0x000000004b434952, 0x0000000000000000);
+ convert(0xe000003000030210, 0x00027101000302e0, 0x00010000000e4101);
+ convert(0xe000003000030220, 0x0200000000000000, 0xffffffffffffffff);
+ convert(0xe000003000030230, 0x00030f2000000000, 0x0000000000030ff0);
+ convert(0xe000003000030290, 0x0000000000000000, 0x0000000000030140);
+ convert(0xe0000030000302a0, 0x0000000000000026, 0x7262490000000000);
+ convert(0xe0000030000302b0, 0x00000000006b6369, 0x0000000000000000);
+ convert(0xe0000030000302e0, 0x0002710100000000, 0x00010000000f3101);
+ convert(0xe0000030000302f0, 0x0500000000000000, 0xffffffffffffffff);
+ convert(0xe000003000030300, 0x000310c000000000, 0x0003126000031190);
+ convert(0xe000003000030310, 0x0003140000031330, 0x0000000000000000);
+ convert(0xe000003000030360, 0x0000000000000000, 0x0000000000030140);
+ convert(0xe000003000030370, 0x0000000000000029, 0x7262490000000000);
+ convert(0xe000003000030380, 0x00000000006b6369, 0x0000000000000000);
+ convert(0xe000003000030970, 0x0000000002010102, 0x0000000000000000);
+ convert(0xe000003000030980, 0x000000004e465e67, 0xffffffff00000000);
+ /* convert(0x00000000000309a0, 0x0000000000037570, 0x0000000100000000); */
+ convert(0xe0000030000309a0, 0x0000000000037570, 0xffffffff00000000);
+ convert(0xe0000030000309b0, 0x0000000000030070, 0x0000000000000000);
+ convert(0xe0000030000309c0, 0x000000000003f420, 0x0000000000000000);
+ convert(0xe000003000030a40, 0x0000000002010125, 0x0000000000000000);
+ convert(0xe000003000030a50, 0xffffffffffffffff, 0xffffffff00000000);
+ convert(0xe000003000030a70, 0x0000000000037b78, 0x0000000000000000);
+ convert(0xe000003000030b10, 0x0000000002010125, 0x0000000000000000);
+ convert(0xe000003000030b20, 0xffffffffffffffff, 0xffffffff00000000);
+ convert(0xe000003000030b40, 0x0000000000037d30, 0x0000000000000001);
+ convert(0xe000003000030be0, 0x00000000ff010203, 0x0000000000000000);
+ convert(0xe000003000030bf0, 0xffffffffffffffff, 0xffffffff000000ff);
+ convert(0xe000003000030c10, 0x0000000000037ee8, 0x0100010000000200);
+ convert(0xe000003000030cb0, 0x00000000ff310111, 0x0000000000000000);
+ convert(0xe000003000030cc0, 0xffffffffffffffff, 0x0000000000000000);
+ convert(0xe000003000030d80, 0x0000000002010104, 0x0000000000000000);
+ convert(0xe000003000030d90, 0xffffffffffffffff, 0x00000000000000ff);
+ convert(0xe000003000030db0, 0x0000000000037f18, 0x0000000000000000);
+ convert(0xe000003000030dc0, 0x0000000000000000, 0x0003007000060000);
+ convert(0xe000003000030de0, 0x0000000000000000, 0x0003021000050000);
+ convert(0xe000003000030df0, 0x000302e000050000, 0x0000000000000000);
+ convert(0xe000003000030e30, 0x0000000000000000, 0x000000000000000a);
+ convert(0xe000003000030e50, 0x00000000ff00011a, 0x0000000000000000);
+ convert(0xe000003000030e60, 0xffffffffffffffff, 0x0000000000000000);
+ convert(0xe000003000030e80, 0x0000000000037fe0, 0x9e6e9e9e9e9e9e9e);
+ convert(0xe000003000030e90, 0x000000000000bc6e, 0x0000000000000000);
+ convert(0xe000003000030f20, 0x0000000002010205, 0x00000000d0020000);
+ convert(0xe000003000030f30, 0xffffffffffffffff, 0x0000000e0000000e);
+ convert(0xe000003000030f40, 0x000000000000000e, 0x0000000000000000);
+ convert(0xe000003000030f50, 0x0000000000038010, 0x00000000000007ff);
+ convert(0xe000003000030f70, 0x0000000000000000, 0x0000000022001077);
+ convert(0xe000003000030fa0, 0x0000000000000000, 0x000000000003f4a8);
+ convert(0xe000003000030ff0, 0x0000000000310120, 0x0000000000000000);
+ convert(0xe000003000031000, 0xffffffffffffffff, 0xffffffff00000002);
+ convert(0xe000003000031010, 0x000000000000000e, 0x0000000000000000);
+ convert(0xe000003000031020, 0x0000000000038088, 0x0000000000000000);
+ convert(0xe0000030000310c0, 0x0000000002010205, 0x00000000d0020000);
+ convert(0xe0000030000310d0, 0xffffffffffffffff, 0x0000000f0000000f);
+ convert(0xe0000030000310e0, 0x000000000000000f, 0x0000000000000000);
+ convert(0xe0000030000310f0, 0x00000000000380b8, 0x00000000000007ff);
+ convert(0xe000003000031120, 0x0000000022001077, 0x00000000000310a9);
+ convert(0xe000003000031130, 0x00000000580211c1, 0x000000008009104c);
+ convert(0xe000003000031140, 0x0000000000000000, 0x000000000003f4c0);
+ convert(0xe000003000031190, 0x0000000000310120, 0x0000000000000000);
+ convert(0xe0000030000311a0, 0xffffffffffffffff, 0xffffffff00000003);
+ convert(0xe0000030000311b0, 0x000000000000000f, 0x0000000000000000);
+ convert(0xe0000030000311c0, 0x0000000000038130, 0x0000000000000000);
+ convert(0xe000003000031260, 0x0000000000110106, 0x0000000000000000);
+ convert(0xe000003000031270, 0xffffffffffffffff, 0xffffffff00000004);
+ convert(0xe000003000031270, 0xffffffffffffffff, 0xffffffff00000004);
+ convert(0xe000003000031280, 0x000000000000000f, 0x0000000000000000);
+ convert(0xe0000030000312a0, 0x00000000ff110013, 0x0000000000000000);
+ convert(0xe0000030000312b0, 0xffffffffffffffff, 0xffffffff00000000);
+ convert(0xe0000030000312c0, 0x000000000000000f, 0x0000000000000000);
+ convert(0xe0000030000312e0, 0x0000000000110012, 0x0000000000000000);
+ convert(0xe0000030000312f0, 0xffffffffffffffff, 0xffffffff00000000);
+ convert(0xe000003000031300, 0x000000000000000f, 0x0000000000000000);
+ convert(0xe000003000031310, 0x0000000000038160, 0x0000000000000000);
+ convert(0xe000003000031330, 0x00000000ff310122, 0x0000000000000000);
+ convert(0xe000003000031340, 0xffffffffffffffff, 0xffffffff00000005);
+ convert(0xe000003000031350, 0x000000000000000f, 0x0000000000000000);
+ convert(0xe000003000031360, 0x0000000000038190, 0x0000000000000000);
+ convert(0xe000003000031400, 0x0000000000310121, 0x0000000000000000);
+ convert(0xe000003000031400, 0x0000000000310121, 0x0000000000000000);
+ convert(0xe000003000031410, 0xffffffffffffffff, 0xffffffff00000006);
+ convert(0xe000003000031420, 0x000000000000000f, 0x0000000000000000);
+ convert(0xe000003000031430, 0x00000000000381c0, 0x0000000000000000);
+ convert(0xe0000030000314d0, 0x00000000ff010201, 0x0000000000000000);
+ convert(0xe0000030000314e0, 0xffffffffffffffff, 0xffffffff00000000);
+ convert(0xe000003000031500, 0x00000000000381f0, 0x000030430000ffff);
+ convert(0xe000003000031510, 0x000000000000ffff, 0x0000000000000000);
+ convert(0xe0000030000315a0, 0x00000020ff000201, 0x0000000000000000);
+ convert(0xe0000030000315b0, 0xffffffffffffffff, 0xffffffff00000001);
+ convert(0xe0000030000315d0, 0x0000000000038240, 0x00003f3f0000ffff);
+ convert(0xe0000030000315e0, 0x000000000000ffff, 0x0000000000000000);
+ convert(0xe000003000031670, 0x00000000ff010201, 0x0000000000000000);
+ convert(0xe000003000031680, 0xffffffffffffffff, 0x0000000100000002);
+ convert(0xe0000030000316a0, 0x0000000000038290, 0x000030430000ffff);
+ convert(0xe0000030000316b0, 0x000000000000ffff, 0x0000000000000000);
+ convert(0xe000003000031740, 0x00000020ff000201, 0x0000000000000000);
+ convert(0xe000003000031750, 0xffffffffffffffff, 0x0000000500000003);
+ convert(0xe000003000031770, 0x00000000000382e0, 0x00003f3f0000ffff);
+ convert(0xe000003000031780, 0x000000000000ffff, 0x0000000000000000);
}
-
diff --git a/arch/ia64/sn/fakeprom/main.c b/arch/ia64/sn/fakeprom/main.c
index 723aa51bb71d8..96df8ec276d05 100644
--- a/arch/ia64/sn/fakeprom/main.c
+++ b/arch/ia64/sn/fakeprom/main.c
@@ -4,7 +4,7 @@
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
- * Copyright (C) 2000-2001 Silicon Graphics, Inc. All rights reserved.
+ * Copyright (C) 2000-2003 Silicon Graphics, Inc. All rights reserved.
*/
@@ -33,25 +33,9 @@ fmain(int lid, int bsp) {
* First lets figure out who we are. This is done from the
* LID passed to us.
*/
-
-#ifdef CONFIG_IA64_SGI_SN1
- nasid = (lid>>24);
- syn = (lid>>17)&1;
- cpu = (lid>>16)&1;
-
- /*
- * Now pick a synergy master to initialize synergy registers.
- */
- if (test_and_set_bit(syn, &nasidmaster[nasid]) == 0) {
- synergy_init(nasid, syn);
- test_and_set_bit(syn+2, &nasidmaster[nasid]);
- } else
- while (get_bit(syn+2, &nasidmaster[nasid]) == 0);
-#else
nasid = (lid>>16)&0xfff;
cpu = (lid>>28)&3;
syn = 0;
-#endif
/*
* Now pick a nasid master to initialize Bedrock registers.
diff --git a/arch/ia64/sn/fakeprom/make_textsym b/arch/ia64/sn/fakeprom/make_textsym
index 9cce974e0cb45..39eecbff6a54e 100644
--- a/arch/ia64/sn/fakeprom/make_textsym
+++ b/arch/ia64/sn/fakeprom/make_textsym
@@ -7,7 +7,7 @@
# License. See the file "COPYING" in the main directory of this archive
# for more details.
#
-# Copyright (c) 2001-2002 Silicon Graphics, Inc. All rights reserved.
+# Copyright (c) 2001-2003 Silicon Graphics, Inc. All rights reserved.
#
help() {
@@ -37,6 +37,7 @@ while getopts "$OPTS" c ; do
done
shift `expr $OPTIND - 1`
+#OBJDUMP=/usr/bin/ia64-linux-objdump
LINUX=${1:-vmlinux}
TEXTSYM=${2:-${LINUX}.sym}
TMPSYM=${2:-${LINUX}.sym.tmp}
@@ -130,6 +131,8 @@ END
awk '
+/ _start$/ {start=1}
+/ start_ap$/ {start=1}
/__start_gate_section/ {start=1}
/^'${dataprefix}\|${textprefix}'/ {
if ($4 == ".kdb")
@@ -142,7 +145,7 @@ awk '
n = 0
s = $(NF-1)
while (length(s) > 0) {
- n = n*16 + substr(s,1,1)
+ n = n*16 + (index("0123456789abcdef", substr(s,1,1)) - 1)
s = substr(s,2)
}
printf "GLOBAL | %s | DATA | %s | %d\n", $1, $NF, n