summary refs log tree commit diff stats
path: root/results/classifier/gemma3:12b/device/1637974
diff options
context:
space:
mode:
Diffstat (limited to 'results/classifier/gemma3:12b/device/1637974')
-rw-r--r--results/classifier/gemma3:12b/device/163797449
1 files changed, 49 insertions, 0 deletions
diff --git a/results/classifier/gemma3:12b/device/1637974 b/results/classifier/gemma3:12b/device/1637974
new file mode 100644
index 000000000..f13403fb6
--- /dev/null
+++ b/results/classifier/gemma3:12b/device/1637974
@@ -0,0 +1,49 @@
+
+dead code in pl080 functions
+
+pl080 is arm dma controller virtual device.
+source code path: hw/dma/pl080.c
+I find there are two same dead code in pl080_read and pl080_write,
+Here's the code, comments are my opinion:
+=========================
+240 static uint64_t pl080_read(void *opaque, hwaddr offset,
+241                            unsigned size)
+242 {
+243     PL080State *s = (PL080State *)opaque;
+244     uint32_t i;
+245     uint32_t mask;
+246 
+247     if (offset >= 0xfe0 && offset < 0x1000) {
+248         if (s->nchannels == 8) {
+249             return pl080_id[(offset - 0xfe0) >> 2];
+250         } else {
+251             return pl081_id[(offset - 0xfe0) >> 2];
+252         }
+253     }
+254     if (offset >= 0x100 && offset < 0x200) {   //// here offset is limited in 0x100~0x200
+255         i = (offset & 0xe0) >> 5;
+256         if (i >= s->nchannels)
+257             goto bad_offset;
+258         switch (offset >> 2) {                 //// then here, offset>>2 is in range  64~128
+259         case 0: /* SrcAddr */                  //// while the switch case is 0,1,2,3,4,
+260             return s->chan[i].src;             //// so, NONE of the switch case would be selected !
+261         case 1: /* DestAddr */                 //// this switch is A DEAD CODE, it is contradictory with if.
+262             return s->chan[i].dest;
+263         case 2: /* LLI */
+264             return s->chan[i].lli;
+265         case 3: /* Control */
+266             return s->chan[i].ctrl;
+267         case 4: /* Configuration */
+268             return s->chan[i].conf;
+269         default:
+270             goto bad_offset;
+271         }
+272     }
+        .....................................
+=============================================
+
+I guess, switch statement should like this :
+switch((offset-0x100)>>2)
+{
+...
+}
\ No newline at end of file