FreeCalypso > hg > fc-selenite
annotate src/gpf/ccd/ccd_patch.c @ 134:7d50d8d13711
FFS code sync with Magnetite + gcc version fix
This change brings the new flash autodetection for FC and Pirelli targets
from Magnetite, and should also fix the gcc version for C1xx and gtamodem
targets, which were previously broken because they used TI's original
flash autodetect code (which operates at address 0) while the boot ROM
is mapped there.
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Tue, 11 Dec 2018 08:43:25 +0000 |
| parents | 1ea54a97e831 |
| children |
| rev | line source |
|---|---|
|
5
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /* |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 +----------------------------------------------------------------------------- |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 | Project : |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 | Modul : ccd_patch.c |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 +----------------------------------------------------------------------------- |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 | Copyright 2002 Texas Instruments Berlin, AG |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 | All rights reserved. |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 | |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 | This file is confidential and a trade secret of Texas |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 | Instruments Berlin, AG |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 | The receipt of or possession of this file does not convey |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 | any rights to reproduce or disclose its contents or to |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 | manufacture, use, or sell anything it may describe, in |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 | whole, or in part, without the specific written consent of |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 | Texas Instruments Berlin, AG. |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 +----------------------------------------------------------------------------- |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 | Purpose : CCD - routines for patching msg elements with given values |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 +----------------------------------------------------------------------------- |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 */ |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 #define CCD_PATCH_C |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 /*==== INCLUDES ==============================================================*/ |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 #include <stdio.h> |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 #include <string.h> |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 #include "typedefs.h" |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 #include "ccd_globs.h" |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 #include "Bitfun.h" |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 #include "ccddata.h" |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 #include "ccd.h" |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 /*==== CONSTS ================================================================*//*==== TYPES =================================================================*/ |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 /*==== LOCALS ================================================================*/ |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 static T_patch_info* pi; |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 /*==== PRIVATE FUNCTIONS =====================================================*/ |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 /*==== PUBLIC FUNCTIONS ======================================================*/ |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 /* |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 +------------------------------------------------------------------------------ |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 | Function : ccd_set_patch_infos |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 +------------------------------------------------------------------------------ |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 | Description : This function submits a list of patch records to CCD |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 | |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 | Parameters : pinfo - the list |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 | |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 | Return : ccdOK on success, otherwise ccdError |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 +------------------------------------------------------------------------------ |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 */ |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 int CCDDATA_PREF(ccd_set_patch_infos) (T_patch_info* pinfo) |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 { |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 pi = pinfo; |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 return ccdOK; |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 } |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 /* |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 +------------------------------------------------------------------------------ |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 | Function : ccd_patch |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 +------------------------------------------------------------------------------ |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 | Description : This function checks if the element is to be patched |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 | and patches if yes. |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 | |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 | Parameters : globs - entity/code information (containing nesting stack) |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 | validflag - set if called from valid flag coding |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 | |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 | Return : FALSE if real coding function is to be called, TRUE otherwise |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68 | if validflag is set, TRUE means, the element is identified |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 | in the patch list |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70 +------------------------------------------------------------------------------ |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 */ |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73 int ccd_patch (T_CCD_Globs* globs, int validflag) |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74 { |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 int i = 0; |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 USHORT elem; |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77 if (pi) |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 { |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 while (pi[i].numelems) |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 { |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 if (!memcmp (pi[i].elemid, globs->error_stack, |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 (pi[i].numelems+1) * sizeof (U16))) |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83 { |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
84 elem = pi[i].elemid[pi[i].numelems]; |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
85 if (validflag) |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
86 { |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
87 if (pi[i].errorcode != CCDP_NOT_FOUND) |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
88 { |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
89 #ifdef DEBUG_CCD |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
90 TRACE_CCD (globs, "ccd_patch(): invalid error code (%d) for %s", |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
91 pi[i].errorcode, ccddata_get_alias (elem, 1)); |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
92 #endif |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
93 } |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
94 else |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
95 { |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
96 #ifdef DEBUG_CCD |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
97 TRACE_CCD (globs, "ccd_patch(): checked valid flag for %s", |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
98 ccddata_get_alias (elem, 1)); |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
99 #endif |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
100 pi[i].errorcode = CCDP_VALIDFLAG_SEEN; |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
101 } |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
102 return TRUE; |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
103 } |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
104 else |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
105 { |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
106 if ((pi[i].errorcode != CCDP_NOT_FOUND) && |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
107 (pi[i].errorcode != CCDP_VALIDFLAG_SEEN)) |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
108 { |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
109 #ifdef DEBUG_CCD |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
110 TRACE_CCD (globs, "ccd_patch(): invalid error code (%d) for %s", |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
111 pi[i].errorcode, ccddata_get_alias (elem, 1)); |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
112 #endif |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
113 } |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
114 else |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
115 { |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
116 UBYTE* pstruct = globs->pstruct; |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
117 ULONG offset = globs->pstructOffs; |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
118 #ifdef DEBUG_CCD |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
119 int j, len; |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
120 char out[32]; |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
121 len = (pi[i].bitwidth+7)/8; |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
122 TRACE_CCD (globs, "ccd_patch(): patching %s with 0x%x bits", |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
123 ccddata_get_alias (elem, 1), pi[i].bitwidth); |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
124 for (j=0; j<len; j++) |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
125 { |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
126 sprintf (&out[(3*j)%24], "%02x \0", pi[i].bits[j]); |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
127 if (!((j+1)%8)) |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
128 TRACE_CCD (globs, out); |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
129 } |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
130 if (((j+1)%8)) |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
131 TRACE_CCD (globs, out); |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
132 #endif |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
133 globs->pstruct = pi[i].bits; |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
134 globs->pstructOffs = 0; |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
135 bf_writeBitChunk (pi[i].bitwidth, globs); |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
136 globs->pstruct = pstruct; |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
137 globs->pstructOffs = offset; |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
138 pi[i].errorcode = CCDP_NO_ERROR; |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
139 } |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
140 return TRUE; |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
141 } |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
142 } |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
143 i++; |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
144 } |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
145 } |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
146 return FALSE; |
|
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
147 } |
