Author: sir_richard
Date: Tue Nov 23 17:23:47 2010
New Revision: 49751
URL: http://svn.reactos.org/svn/reactos?rev=49751&view=rev
Log:
[FREELDR]: Define FreeLoader module for ARM. Differences with x86 are mostly due to the fact "bootloader" was unfortunately made an x86-specific module type, so we have to use "kernel" to get around that, which thankfully has remained portable.
Modified:
trunk/reactos/boot/freeldr/freeldr/freeldr.rbuild
Modified: trunk/reactos/boot/freeldr/freeldr/freeldr.rbuild
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/freel…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/freeldr.rbuild [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/freeldr.rbuild [iso-8859-1] Tue Nov 23 17:23:47 2010
@@ -13,6 +13,22 @@
<library>rtl</library>
<library>libcntpr</library>
<library>ppcmmu</library>
+ </module>
+</if>
+
+<if property="ARCH" value="arm">
+ <module name="freeldr" type="kernel" entrypoint="_start" baseaddress="$(BASEADDRESS_FREELDR)">
+ <linkerscript>freeldr_$(ARCH).lnk</linkerscript>
+ <bootstrap installbase="loader" />
+ <library>freeldr_startup</library>
+ <library>freeldr_base64k</library>
+ <library>freeldr_base</library>
+ <library>freeldr_arch</library>
+ <library>freeldr_main</library>
+ <library>rossym</library>
+ <library>cmlib</library>
+ <library>rtl</library>
+ <library>libcntpr</library>
</module>
</if>
Author: sir_richard
Date: Tue Nov 23 17:17:32 2010
New Revision: 49744
URL: http://svn.reactos.org/svn/reactos?rev=49744&view=rev
Log:
[FREELDR]: On ARM, don't turn on maximum, hyper, ultra-slow debugging and analysis features for the heap. This, for example, reduces FreeLoader's size by 32KB+ and speeds up boot by entire seconds, as the entire heap isn't zeroed out on startup.
[FREELDR]: May I humbly suggest you do the same on x86?!
Modified:
trunk/reactos/boot/freeldr/freeldr/rtl/bget.c
Modified: trunk/reactos/boot/freeldr/freeldr/rtl/bget.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/rtl/b…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/rtl/bget.c [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/rtl/bget.c [iso-8859-1] Tue Nov 23 17:17:32 2010
@@ -407,6 +407,7 @@
all buffers allocated are a
multiple of this size. This
MUST be a power of two. */
+#ifndef _M_ARM
#define BufDump 1 /* Define this symbol to enable the
bpoold() function which dumps the
@@ -442,6 +443,8 @@
#define BECtl 1 /* Define this symbol to enable the
bectl() function for automatic
pool space control. */
+#else
+#endif
#include <stdio.h>
Author: sir_richard
Date: Tue Nov 23 16:50:35 2010
New Revision: 49742
URL: http://svn.reactos.org/svn/reactos?rev=49742&view=rev
Log:
[ARMLLB]: Although the soothing BSOD blue color is nice for LLB debugging, we'd really prefer to have black so it looks more natural on the eyes when booting to FreeLoader. As such, make the default backcolor black, but keep the old blue color for early testing, if enabled with a define.
Modified:
trunk/reactos/boot/armllb/hw/video.c
Modified: trunk/reactos/boot/armllb/hw/video.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/armllb/hw/video.c?rev…
==============================================================================
--- trunk/reactos/boot/armllb/hw/video.c [iso-8859-1] (original)
+++ trunk/reactos/boot/armllb/hw/video.c [iso-8859-1] Tue Nov 23 16:50:35 2010
@@ -326,7 +326,11 @@
else
{
/* Deep blue */
+#ifdef BLUE_SCREEN
BackColor = LlbHwVideoCreateColor(14, 0, 82);
+#else
+ BackColor = LlbHwVideoCreateColor(0, 0, 0);
+#endif
BackColor = (BackColor << 16) | BackColor;
}
@@ -346,8 +350,12 @@
{
ULONG cx, cy, CharsPerLine, BackColor, ScreenWidth;
- /* Forecolor on this machine */
- BackColor = LlbHwVideoCreateColor(14, 0, 82);
+ /* Backcolor on this machine */
+#ifdef BLUE_SCREEN
+ BackColor = LlbHwVideoCreateColor(14, 0, 82);
+#else
+ BackColor = LlbHwVideoCreateColor(0, 0, 0);
+#endif
/* Amount of characters in a line */
ScreenWidth = LlbHwGetScreenWidth();