#
ea56f5e0 |
|
16-Jun-2022 |
PulkoMandy <pulkomandy@pulkomandy.tk> |
kernel: replace Spleen font with an enlarged version of the original KDL font Recently we introduced Spleen as a larger font for KDL for high resolution displays. However, it looks quite different from our original font. I designed an enlarged version of our original font (designed by Brian J. Swetland and also found in NewOS, LK and Fuchsia) to use instead. Change-Id: I10872e407d45b906f8b6c7ba44b2f993dcd19bff Reviewed-on: https://review.haiku-os.org/c/haiku/+/5382 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
|
#
0d66d8d4 |
|
22-Oct-2021 |
Augustin Cavalier <waddlesplash@gmail.com> |
boot_loader: Add a video_text_console for potential use by bootloaders. This uses the frame buffer console that KDL uses. It needs some work, though, as the frame_buffer_console colors system is not quite compatible.
|
#
ad3f57ef |
|
21-Sep-2021 |
X512 <danger_mail@list.ru> |
kernel/debug/frame_buffer: Lock should always be initalized * Without this, kernel will crash on boot when a framebuffer isn't provided by bootloader. (like on the riscv64 today) Change-Id: I5ec64db30972c7c3b19e4cdb31f0fe72b5982c0f Reviewed-on: https://review.haiku-os.org/c/haiku/+/4494 Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
|
#
29a109bd |
|
20-Mar-2021 |
Pascal Abresch <nep@packageloss.eu> |
Framebuffer console: Add spleen font (12x24) Use this larger font when the screen resolution is large (more than 1920x1080 in both directions). The usual font is too small and not easy to read on such high resolution displays. Change-Id: I14a40ecf6917d0c6c64ab5a8abe1affcb3839a74 Reviewed-on: https://review.haiku-os.org/c/haiku/+/3818 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
8a0c9d52 |
|
10-Aug-2019 |
Augustin Cavalier <waddlesplash@gmail.com> |
OS: Rename B_USER_CLONEABLE_AREA to B_CLONEABLE_AREA. It now lives in OS.h. The idea is that this will now be accessible to userland applications, so userland memory is protected from access by other processes, just as kernel memory is. No functional change (the constants are still the same, though I've changed some to use shifts to make clear which bits are allocated are which are unused.)
|
#
9dd4d2dd |
|
03-Jan-2018 |
Jérôme Duval <jerome.duval@gmail.com> |
kernel: support for Intel SMAP and SMEP on x86_64. SMAP will generated page faults when the kernel tries to access user pages unless overriden. If SMAP is enabled, the override instructions are written where needed in memory with binary "altcodepatches". Support is enabled by default, might be disabled per safemode setting. Change-Id: Ife26cd765056aeaf65b2ffa3cadd0dcf4e273a96
|
#
bbb5a50f |
|
11-Jan-2018 |
Jérôme Duval <jerome.duval@gmail.com> |
kernel: debug: map the frame_buffer for the kernel only.
|
#
48494219 |
|
13-Dec-2016 |
Jessica Hamilton <jessica.l.hamilton@gmail.com> |
Add a dumb framebuffer driver. This is separate to the VESA driver, as the VESA driver requires using the VBE BIOS. Under UEFI, we don't have the VBE BIOS, nor are we able to switch modes after leaving UEFI Boot Services, so a dumb framebuffer driver seemed like the easier way to approach the problem. The framebuffer & vesa drivers now test for the presence of the VESA_MODES_BOOT_INFO boot item to distinguish between which driver to use. Also added check for the VESA mode count to determine whether to add the VESA_MODES_BOOT_INFO item. UEFI video updated to explicitly zero out the VESA and EDID boot data.
|
#
94b364b4 |
|
27-Nov-2012 |
Michael Lotz <mmlr@mlotz.ch> |
Add blue_screen and frame_buffer_console into the bootloader. These can be used for on-screen debug output with relatively little effort, as they just need a plain framebuffer definition to work. Some stubs are added to not clutter up the kernel sources with too many ifdefs.
|
#
62d36f98 |
|
22-Jun-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Removed the addr_t conversion operators from FixedWidthPointer which makes comparison against NULL work properly.
|
#
d8efc6ca |
|
21-Jun-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Changes to kernel_args to make it identical for x86 and x86_64. * Added a FixedWidthPointer template class which uses 64-bit storage to hold a pointer. This is used in place of raw pointers in kernel_args. * Added __attribute__((packed)) to kernel_args and all structures contained within it. This is necessary due to different alignment behaviour for 32-bit and 64-bit compilation with GCC. * With these changes, kernel_args will now come out the same size for both the x86_64 kernel and the loader, excluding the preloaded_image structure which has not yet been changed. * Tested both an x86 GCC2 and GCC4 build, no problems caused by these changes.
|
#
64d79eff |
|
27-May-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Changed physical_entry::{address,size} to phys_{addr,size}_t and changed map_physical_memory()'s physicalAddress parameter type from void* to phys_addr_t. This breaks source compatibility, but -- as long as phys_{addr,size}_t remain 32 bit wide -- keeps binary compatibility with BeOS. * Adjusted all code using the affected interfaces (Oh what fun!). Added a few TODOs in places where the wrong types (e.g. void* for physical addresses are used). Looks like quite a few drivers aren't 64 bit safe and others will break with PAE. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36960 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e30dd2c0 |
|
01-Jan-2010 |
Axel Dörfler <axeld@pinc-software.de> |
* If the VESA driver remaps the frame buffer on init, it will now also make sure that the kernel's frame buffer console points to the right data. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34835 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e50cf876 |
|
02-Dec-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Moved the VM headers into subdirectory vm/. * Renamed vm_cache.h/vm_address_space.h to VMCache.h/VMAddressSpace. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34449 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5472c0c2 |
|
24-Nov-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* The VESA driver now tries to find the PCI card that it is controlling by checking the physical frame buffer location. * This allows us to map the whole frame buffer at once, which means there is no need anymore to remap the memory on mode change. * Also, this will ease the burden of the MTRRs, as the memory size will be properly aligned. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34206 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bb693d77 |
|
14-Aug-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Added VESA capabilities field to the kernel args. * The vesa driver no longer uses VGA programming if the chip does not support VGA compatibility. * The VESA driver now tries to set the DAC to 8 bits per color gun. * In VESA modes, the driver no longer tries to use VGA programming; introduced the new vesa_set_indexed_colors() that is now used for palette programming. This should fix wrong colors of 8 bit BWindowScreen users with VESA on real hardware (emulators usually didn't mind either way). * Note that the app_server needs to maintain a palette per 8 bit screen, as right now, the colors are garbled after a workspace switch. Stefano, are you looking into that already? git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32347 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f7be7fea |
|
07-Aug-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Setting the depth to 1 for VGA mode in frame_buffer_console_init() was not a good idea; it didn't have any consequences in there, but actually broke the app_server's support for the VGA mode. * Cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32181 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
13247f3a |
|
05-Aug-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* This fixes VGA mode frame buffer use, no idea when this got broken. It might be broken in the app_server now, but I haven't checked yet. * Fixed typo in vesa.h. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32141 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ebf6c5de |
|
31-Oct-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* 15 and 16 bit KDL consoles now have nice colors, too. * For 8 bit, the palette is pretty messed up during the boot process (thanks to the boot loader image), so that we might want to change how the colors are set then. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28393 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d5a9a2d1 |
|
31-Oct-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Made the KDL colors a bit more eye friendly in 24/32 bit modes. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28391 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f5b3a6a7 |
|
05-Jun-2008 |
Michael Lotz <mmlr@mlotz.ch> |
* Initialize all static mutexes in the kernel through a MUTEX_INITIALIZER() and remove the then unneeded mutex_init() for them. * Remove the workaround for allowing uninitialized mutexes on kernel startup. As they are all initialized statically through the MUTEX_INITIALIZER() now this is not needed anymore. * An uninitialized mutex will now cause a panic when used to find possibly remaining cases. * Remove now unnecessary driver_settings_init_post_sem() function. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25812 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d16ddc57 |
|
03-Jun-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* The boot loader now passes on its EDID info to the kernel, and that will be put into a boot_item in frame_buffer_console_init(). * The VESA driver now supports gettings the EDID information as well; this is necessary now, since the app_server no longer takes over the mode the boot loader had chosen. * Note, we might want to do this via vm86 instead in the future, and remove the kernel part again. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25786 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9f161845 |
|
28-May-2008 |
Axel Dörfler <axeld@pinc-software.de> |
Patch by Jan Klötzke with minor changes by myself: * Use vm86 mode to call the VESA BIOS to do the actual mode switching by providing an ioctl in the vesa driver. * Fix vm86.h. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25680 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6328832f |
|
30-Mar-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Changed get_boot_item() API: it now also can retrieve the size of the boot item entry. * The bios_ia32 video platform code now stores the available VESA modes in the new vesa_modes kernel_args field. * When configuring a VESA mode via settings file, it's no longer needed to specify the exact mode - the closest available mode is now used. This should help with bug #1962. * frame_buffer_console_init() now also creates a boot_item for the VESA modes in the kernel_args. * The VESA accelerant now filters the mode list to only contain modes that are actually supported. * Moved non-shared vesa driver data into its own file vesa_private.h. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24675 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4495cd43 |
|
20-Mar-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Fixed warnings, mostly due to NULL changes. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24487 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5845b6ec |
|
27-Nov-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* The boot loader now remembers the bytes per row as told by the graphics card, and passes that information on to the kernel. This should fix wrong bytes per row with certain resolutions and graphics cards. * The boot loader now recognizes 15 bit modes that are advertised as 16 bit modes. This should fix wrong colors in 16 bit modes on some cards. * Reenabled setting MTRR for VESA mode - don't remember why I disabled it, but it works fine on my test machines. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23006 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d5d57038 |
|
07-Feb-2007 |
Axel Dörfler <axeld@pinc-software.de> |
The mutex was created too early, before semaphores could be used. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20098 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
92447917 |
|
25-Jan-2006 |
Axel Dörfler <axeld@pinc-software.de> |
Implemented on screen debug output during boot - to be enabled in the boot loader safemode menu. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16081 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
51a3c450 |
|
13-Dec-2005 |
Axel Dörfler <axeld@pinc-software.de> |
The short story: we now have MTRR support on Intel and AMD CPUs (the latter has not yet been tested, though - I'll do this after this commit): * Removed the arch_memory_type stuff from vm_area; since there are only 8 memory ranges on x86, it's simply overkill. The MTRR code now remembers the area ID and finds the MTRR that way (it could also iterate over the existing MTRRs). * Introduced some post_modules() init functions. * If the other x86 CPUs out there don't differ a lot, MTRR functionality might be put back into the kernel. * x86_write_msr() was broken, it wrote the 64 bit number with the 32 bit words switched - it took me some time (and lots of #GPs) to figure that one out. * Removed the macro read_ebp() and introduced a function x86_read_ebp() (it's not really a time critical call). * Followed the Intel docs on how to change MTRRs (symmetrically on all CPUs with caches turned off). * Asking for memory types will automatically change the requested length to a power of two - note that BeOS seems to behave in the same, although that's not really very clean. * fixed MTRRs are ignored for now - we should make sure at least, though, that they are identical on all CPUs (or turn them off, even though I'd prefer the BIOS stuff to be uncacheable, which we don't enforce yet, though). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15528 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2ed21b85 |
|
12-Dec-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Some work in progress of the MTRR support. Shouldn't do any harm yet :-) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15525 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
72a263b6 |
|
21-Aug-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Make sure only ASCII characters are rendered. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14039 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c88974d0 |
|
29-May-2005 |
Axel Dörfler <axeld@pinc-software.de> |
The app_server now updates the kernel's blue screen frame buffer on mode changes (only the accelerant HW interface does this for now). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12897 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f33c8020 |
|
29-May-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Removed debug/console.c, we no longer need it. frame_buffer_console_init() is now called by debug_init_post_vm(). Since the availability of a blue screen specific getchar() is static anyway, there is no need for the sBlueScreenGetChar variable (only the message "only serial input available" gets lost, but since that is platform specific anyway...). Hello blue screen! We now have an on-screen KDL, to be enabled by the kernel setting "bluescreen", just like on BeOS. The blue screen does not yet support any cursor actions or backspace, though (need to grab some stuff from our console driver). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12896 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2d690920 |
|
13-Apr-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Renamed system/core to system/kernel. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12360 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
94b364b4698cc3d4adf1a95486d37e74203bd719 |
|
27-Nov-2012 |
Michael Lotz <mmlr@mlotz.ch> |
Add blue_screen and frame_buffer_console into the bootloader. These can be used for on-screen debug output with relatively little effort, as they just need a plain framebuffer definition to work. Some stubs are added to not clutter up the kernel sources with too many ifdefs.
|
#
62d36f98331067e472188f6c020c2ccd808f48cf |
|
22-Jun-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Removed the addr_t conversion operators from FixedWidthPointer which makes comparison against NULL work properly.
|
#
d8efc6caf6babe278c48e8aa3277376fb68ff455 |
|
21-Jun-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Changes to kernel_args to make it identical for x86 and x86_64. * Added a FixedWidthPointer template class which uses 64-bit storage to hold a pointer. This is used in place of raw pointers in kernel_args. * Added __attribute__((packed)) to kernel_args and all structures contained within it. This is necessary due to different alignment behaviour for 32-bit and 64-bit compilation with GCC. * With these changes, kernel_args will now come out the same size for both the x86_64 kernel and the loader, excluding the preloaded_image structure which has not yet been changed. * Tested both an x86 GCC2 and GCC4 build, no problems caused by these changes.
|
#
64d79eff7290437d24b1a420537c3ed5c144ab96 |
|
27-May-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Changed physical_entry::{address,size} to phys_{addr,size}_t and changed map_physical_memory()'s physicalAddress parameter type from void* to phys_addr_t. This breaks source compatibility, but -- as long as phys_{addr,size}_t remain 32 bit wide -- keeps binary compatibility with BeOS. * Adjusted all code using the affected interfaces (Oh what fun!). Added a few TODOs in places where the wrong types (e.g. void* for physical addresses are used). Looks like quite a few drivers aren't 64 bit safe and others will break with PAE. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36960 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e30dd2c0767898d4f1bedf6e38af3dfa6bc6b513 |
|
01-Jan-2010 |
Axel Dörfler <axeld@pinc-software.de> |
* If the VESA driver remaps the frame buffer on init, it will now also make sure that the kernel's frame buffer console points to the right data. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34835 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e50cf8765be50a7454c9488db38b638cf90805af |
|
02-Dec-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Moved the VM headers into subdirectory vm/. * Renamed vm_cache.h/vm_address_space.h to VMCache.h/VMAddressSpace. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34449 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5472c0c23e590ed244f926c50634e5bc52c65057 |
|
24-Nov-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* The VESA driver now tries to find the PCI card that it is controlling by checking the physical frame buffer location. * This allows us to map the whole frame buffer at once, which means there is no need anymore to remap the memory on mode change. * Also, this will ease the burden of the MTRRs, as the memory size will be properly aligned. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34206 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bb693d77643c7bc4b2b10847007a94af5e84b953 |
|
14-Aug-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Added VESA capabilities field to the kernel args. * The vesa driver no longer uses VGA programming if the chip does not support VGA compatibility. * The VESA driver now tries to set the DAC to 8 bits per color gun. * In VESA modes, the driver no longer tries to use VGA programming; introduced the new vesa_set_indexed_colors() that is now used for palette programming. This should fix wrong colors of 8 bit BWindowScreen users with VESA on real hardware (emulators usually didn't mind either way). * Note that the app_server needs to maintain a palette per 8 bit screen, as right now, the colors are garbled after a workspace switch. Stefano, are you looking into that already? git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32347 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f7be7fea764cbc2179fdded17d3fbcea5db64a56 |
|
07-Aug-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Setting the depth to 1 for VGA mode in frame_buffer_console_init() was not a good idea; it didn't have any consequences in there, but actually broke the app_server's support for the VGA mode. * Cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32181 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
13247f3a8c97038ae29d8eb5b646eac298832c1a |
|
05-Aug-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* This fixes VGA mode frame buffer use, no idea when this got broken. It might be broken in the app_server now, but I haven't checked yet. * Fixed typo in vesa.h. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32141 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ebf6c5de785e1b9694ecf31ee43b27f0f5474eb2 |
|
31-Oct-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* 15 and 16 bit KDL consoles now have nice colors, too. * For 8 bit, the palette is pretty messed up during the boot process (thanks to the boot loader image), so that we might want to change how the colors are set then. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28393 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d5a9a2d118e026cd760c03814d32ace897bfce8f |
|
31-Oct-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Made the KDL colors a bit more eye friendly in 24/32 bit modes. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28391 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f5b3a6a7968b849c8cb3d06ffe6d19acccf910a8 |
|
05-Jun-2008 |
Michael Lotz <mmlr@mlotz.ch> |
* Initialize all static mutexes in the kernel through a MUTEX_INITIALIZER() and remove the then unneeded mutex_init() for them. * Remove the workaround for allowing uninitialized mutexes on kernel startup. As they are all initialized statically through the MUTEX_INITIALIZER() now this is not needed anymore. * An uninitialized mutex will now cause a panic when used to find possibly remaining cases. * Remove now unnecessary driver_settings_init_post_sem() function. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25812 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d16ddc579cc378b230e7782b82e6007063d1442d |
|
03-Jun-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* The boot loader now passes on its EDID info to the kernel, and that will be put into a boot_item in frame_buffer_console_init(). * The VESA driver now supports gettings the EDID information as well; this is necessary now, since the app_server no longer takes over the mode the boot loader had chosen. * Note, we might want to do this via vm86 instead in the future, and remove the kernel part again. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25786 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9f16184577a3506b927dbc5cfff47ab03500deda |
|
28-May-2008 |
Axel Dörfler <axeld@pinc-software.de> |
Patch by Jan Klötzke with minor changes by myself: * Use vm86 mode to call the VESA BIOS to do the actual mode switching by providing an ioctl in the vesa driver. * Fix vm86.h. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25680 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6328832fba8f149074dbe7502dc0c180ff013263 |
|
30-Mar-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Changed get_boot_item() API: it now also can retrieve the size of the boot item entry. * The bios_ia32 video platform code now stores the available VESA modes in the new vesa_modes kernel_args field. * When configuring a VESA mode via settings file, it's no longer needed to specify the exact mode - the closest available mode is now used. This should help with bug #1962. * frame_buffer_console_init() now also creates a boot_item for the VESA modes in the kernel_args. * The VESA accelerant now filters the mode list to only contain modes that are actually supported. * Moved non-shared vesa driver data into its own file vesa_private.h. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24675 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4495cd43c19a4925102a20b4d4f8bedd2cfa923d |
|
20-Mar-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Fixed warnings, mostly due to NULL changes. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24487 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5845b6ecc55d00e5f222d73646947f0187269a76 |
|
27-Nov-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* The boot loader now remembers the bytes per row as told by the graphics card, and passes that information on to the kernel. This should fix wrong bytes per row with certain resolutions and graphics cards. * The boot loader now recognizes 15 bit modes that are advertised as 16 bit modes. This should fix wrong colors in 16 bit modes on some cards. * Reenabled setting MTRR for VESA mode - don't remember why I disabled it, but it works fine on my test machines. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23006 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d5d570384c2936ec355581119b5664f370fc5919 |
|
07-Feb-2007 |
Axel Dörfler <axeld@pinc-software.de> |
The mutex was created too early, before semaphores could be used. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20098 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
924479179b8e0792397a804dccfefb9947ea04cd |
|
25-Jan-2006 |
Axel Dörfler <axeld@pinc-software.de> |
Implemented on screen debug output during boot - to be enabled in the boot loader safemode menu. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16081 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
51a3c450bebefa32a5636bc6078bdd648818da41 |
|
13-Dec-2005 |
Axel Dörfler <axeld@pinc-software.de> |
The short story: we now have MTRR support on Intel and AMD CPUs (the latter has not yet been tested, though - I'll do this after this commit): * Removed the arch_memory_type stuff from vm_area; since there are only 8 memory ranges on x86, it's simply overkill. The MTRR code now remembers the area ID and finds the MTRR that way (it could also iterate over the existing MTRRs). * Introduced some post_modules() init functions. * If the other x86 CPUs out there don't differ a lot, MTRR functionality might be put back into the kernel. * x86_write_msr() was broken, it wrote the 64 bit number with the 32 bit words switched - it took me some time (and lots of #GPs) to figure that one out. * Removed the macro read_ebp() and introduced a function x86_read_ebp() (it's not really a time critical call). * Followed the Intel docs on how to change MTRRs (symmetrically on all CPUs with caches turned off). * Asking for memory types will automatically change the requested length to a power of two - note that BeOS seems to behave in the same, although that's not really very clean. * fixed MTRRs are ignored for now - we should make sure at least, though, that they are identical on all CPUs (or turn them off, even though I'd prefer the BIOS stuff to be uncacheable, which we don't enforce yet, though). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15528 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2ed21b85257d9d36d4d8a25c2a798a42add6e618 |
|
12-Dec-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Some work in progress of the MTRR support. Shouldn't do any harm yet :-) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15525 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
72a263b6cf34de6385e76c918b0978e2718ed924 |
|
21-Aug-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Make sure only ASCII characters are rendered. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14039 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c88974d026f2ff5393aa6f6e7160004dff4454fb |
|
29-May-2005 |
Axel Dörfler <axeld@pinc-software.de> |
The app_server now updates the kernel's blue screen frame buffer on mode changes (only the accelerant HW interface does this for now). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12897 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f33c8020e2693795032110c933cbb60dea5be8df |
|
29-May-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Removed debug/console.c, we no longer need it. frame_buffer_console_init() is now called by debug_init_post_vm(). Since the availability of a blue screen specific getchar() is static anyway, there is no need for the sBlueScreenGetChar variable (only the message "only serial input available" gets lost, but since that is platform specific anyway...). Hello blue screen! We now have an on-screen KDL, to be enabled by the kernel setting "bluescreen", just like on BeOS. The blue screen does not yet support any cursor actions or backspace, though (need to grab some stuff from our console driver). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12896 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2d690920ac4d0cd27eb3c118fb2b0862615869e0 |
|
13-Apr-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Renamed system/core to system/kernel. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12360 a95241bf-73f2-0310-859d-f6bbb57e9c96
|