scvtb.c (87886) | scvtb.c (102265) |
---|---|
1/*- 2 * Copyright (c) 1999 FreeBSD(98) Porting Team. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 9 unchanged lines hidden (view full) --- 18 * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT, 19 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 20 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 21 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 22 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 24 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 * | 1/*- 2 * Copyright (c) 1999 FreeBSD(98) Porting Team. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 9 unchanged lines hidden (view full) --- 18 * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT, 19 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 20 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 21 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 22 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 24 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 * |
26 * $FreeBSD: head/sys/pc98/cbus/scvtb.c 87886 2001-12-14 15:27:15Z nyan $ | 26 * $FreeBSD: head/sys/pc98/cbus/scvtb.c 102265 2002-08-22 13:24:00Z nyan $ |
27 */ 28 29#include "opt_syscons.h" 30 31#include <sys/param.h> 32#include <sys/systm.h> 33#include <sys/malloc.h> 34#include <sys/consio.h> --- 53 unchanged lines hidden (view full) --- 88void 89sc_vtb_init(sc_vtb_t *vtb, int type, int cols, int rows, void *buf, int wait) 90{ 91 vtb->vtb_flags = 0; 92 vtb->vtb_type = type; 93 vtb->vtb_cols = cols; 94 vtb->vtb_rows = rows; 95 vtb->vtb_size = cols*rows; | 27 */ 28 29#include "opt_syscons.h" 30 31#include <sys/param.h> 32#include <sys/systm.h> 33#include <sys/malloc.h> 34#include <sys/consio.h> --- 53 unchanged lines hidden (view full) --- 88void 89sc_vtb_init(sc_vtb_t *vtb, int type, int cols, int rows, void *buf, int wait) 90{ 91 vtb->vtb_flags = 0; 92 vtb->vtb_type = type; 93 vtb->vtb_cols = cols; 94 vtb->vtb_rows = rows; 95 vtb->vtb_size = cols*rows; |
96 vtb->vtb_buffer = NULL; | 96 vtb->vtb_buffer = 0; |
97 vtb->vtb_tail = 0; 98 99 switch (type) { 100 case VTB_MEMORY: 101 case VTB_RINGBUFFER: 102 if ((buf == NULL) && (cols*rows != 0)) { 103 vtb->vtb_buffer = 104 (vm_offset_t)malloc(cols*rows*sizeof(u_int16_t)*2, 105 M_DEVBUF, 106 ((wait) ? M_WAITOK : M_NOWAIT) | M_ZERO); | 97 vtb->vtb_tail = 0; 98 99 switch (type) { 100 case VTB_MEMORY: 101 case VTB_RINGBUFFER: 102 if ((buf == NULL) && (cols*rows != 0)) { 103 vtb->vtb_buffer = 104 (vm_offset_t)malloc(cols*rows*sizeof(u_int16_t)*2, 105 M_DEVBUF, 106 ((wait) ? M_WAITOK : M_NOWAIT) | M_ZERO); |
107 if (vtb->vtb_buffer != NULL) { | 107 if (vtb->vtb_buffer != 0) { |
108 vtb->vtb_flags |= VTB_ALLOCED; 109 } 110 } else { 111 vtb->vtb_buffer = (vm_offset_t)buf; 112 } 113 vtb->vtb_flags |= VTB_VALID; 114 break; 115 case VTB_FRAMEBUFFER: --- 11 unchanged lines hidden (view full) --- 127 vm_offset_t p; 128 129 vtb->vtb_cols = 0; 130 vtb->vtb_rows = 0; 131 vtb->vtb_size = 0; 132 vtb->vtb_tail = 0; 133 134 p = vtb->vtb_buffer; | 108 vtb->vtb_flags |= VTB_ALLOCED; 109 } 110 } else { 111 vtb->vtb_buffer = (vm_offset_t)buf; 112 } 113 vtb->vtb_flags |= VTB_VALID; 114 break; 115 case VTB_FRAMEBUFFER: --- 11 unchanged lines hidden (view full) --- 127 vm_offset_t p; 128 129 vtb->vtb_cols = 0; 130 vtb->vtb_rows = 0; 131 vtb->vtb_size = 0; 132 vtb->vtb_tail = 0; 133 134 p = vtb->vtb_buffer; |
135 vtb->vtb_buffer = NULL; | 135 vtb->vtb_buffer = 0; |
136 switch (vtb->vtb_type) { 137 case VTB_MEMORY: 138 case VTB_RINGBUFFER: | 136 switch (vtb->vtb_type) { 137 case VTB_MEMORY: 138 case VTB_RINGBUFFER: |
139 if ((vtb->vtb_flags & VTB_ALLOCED) && (p != NULL)) | 139 if ((vtb->vtb_flags & VTB_ALLOCED) && (p != 0)) |
140 free((void *)p, M_DEVBUF); 141 break; 142 default: 143 break; 144 } 145 vtb->vtb_flags = 0; 146 vtb->vtb_type = VTB_INVALID; 147} --- 252 unchanged lines hidden --- | 140 free((void *)p, M_DEVBUF); 141 break; 142 default: 143 break; 144 } 145 vtb->vtb_flags = 0; 146 vtb->vtb_type = VTB_INVALID; 147} --- 252 unchanged lines hidden --- |