Deleted Added
full compact
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 ---