Annotation of qemu/roms/SLOF/clients/net-snk/app/biosemu/debug.c, revision 1.1.1.1

1.1       root        1: /******************************************************************************
                      2:  * Copyright (c) 2004, 2008 IBM Corporation
                      3:  * All rights reserved.
                      4:  * This program and the accompanying materials
                      5:  * are made available under the terms of the BSD License
                      6:  * which accompanies this distribution, and is available at
                      7:  * http://www.opensource.org/licenses/bsd-license.php
                      8:  *
                      9:  * Contributors:
                     10:  *     IBM Corporation - initial implementation
                     11:  *****************************************************************************/
                     12: 
                     13: #include <cpu.h>
                     14: 
                     15: #include "debug.h"
                     16: 
                     17: uint32_t debug_flags = 0;
                     18: 
                     19: void
                     20: dump(uint8_t * addr, uint32_t len)
                     21: {
                     22:        printf("\n\r%s(%p, %x):\n", __FUNCTION__, addr, len);
                     23:        while (len) {
                     24:                unsigned int tmpCnt = len;
                     25:                unsigned char x;
                     26:                if (tmpCnt > 8)
                     27:                        tmpCnt = 8;
                     28:                printf("\n\r%p: ", addr);
                     29:                // print hex
                     30:                while (tmpCnt--) {
                     31:                        set_ci();
                     32:                        x = *addr++;
                     33:                        clr_ci();
                     34:                        printf("%02x ", x);
                     35:                }
                     36:                tmpCnt = len;
                     37:                if (tmpCnt > 8)
                     38:                        tmpCnt = 8;
                     39:                len -= tmpCnt;
                     40:                //reset addr ptr to print ascii
                     41:                addr = addr - tmpCnt;
                     42:                // print ascii
                     43:                while (tmpCnt--) {
                     44:                        set_ci();
                     45:                        x = *addr++;
                     46:                        clr_ci();
                     47:                        if ((x < 32) || (x >= 127)) {
                     48:                                //non-printable char
                     49:                                x = '.';
                     50:                        }
                     51:                        printf("%c", x);
                     52:                }
                     53:        }
                     54:        printf("\n");
                     55: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.