Rev 1135 | Rev 1298 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 1135 | Rev 1287 | ||
|---|---|---|---|
| Line 235... | Line 235... | ||
| 235 | * |
235 | * |
| 236 | * Emulate basic terminal commands |
236 | * Emulate basic terminal commands |
| 237 | */ |
237 | */ |
| 238 | static void fb_putchar(chardev_t *dev, char ch) |
238 | static void fb_putchar(chardev_t *dev, char ch) |
| 239 | { |
239 | { |
| 240 | spinlock_lock(&fb->lock); |
240 | spinlock_lock(&fb_lock); |
| 241 | 241 | ||
| 242 | switch (ch) { |
242 | switch (ch) { |
| 243 | case '\n': |
243 | case '\n': |
| 244 | invert_cursor(); |
244 | invert_cursor(); |
| 245 | position += columns; |
245 | position += columns; |
| Line 271... | Line 271... | ||
| 271 | scroll_screen(); |
271 | scroll_screen(); |
| 272 | } |
272 | } |
| 273 | 273 | ||
| 274 | invert_cursor(); |
274 | invert_cursor(); |
| 275 | 275 | ||
| 276 | spinlock_unlock(&fb->lock); |
276 | spinlock_unlock(&fb_lock); |
| 277 | } |
277 | } |
| 278 | 278 | ||
| 279 | static chardev_t framebuffer; |
279 | static chardev_t framebuffer; |
| 280 | static chardev_operations_t fb_ops = { |
280 | static chardev_operations_t fb_ops = { |
| 281 | .write = fb_putchar, |
281 | .write = fb_putchar, |