From: <fd...@us...> - 2008-07-18 21:01:08
|
Revision: 4319 http://jnode.svn.sourceforge.net/jnode/?rev=4319&view=rev Author: fduminy Date: 2008-07-18 21:01:05 +0000 (Fri, 18 Jul 2008) Log Message: ----------- changes in grub setting for vesa graphic mode : - multiboot header is now always present in jnode kernel - jnode.properties and build-x86.xml no longer need a property to specify the wanted video mode : instead the grub menu items will specify it Modified Paths: -------------- trunk/all/build-x86.xml trunk/all/conf/x86/menu-cdrom.lst trunk/all/conf/x86/menu.lst trunk/builder/src/builder/org/jnode/ant/taskdefs/Asm.java trunk/builder/src/builder/org/jnode/build/x86/BootImageBuilder.java trunk/core/src/native/x86/kernel.asm trunk/core/src/native/x86/unsafex86.asm Modified: trunk/all/build-x86.xml =================================================================== --- trunk/all/build-x86.xml 2008-07-17 18:35:19 UTC (rev 4318) +++ trunk/all/build-x86.xml 2008-07-18 21:01:05 UTC (rev 4319) @@ -21,7 +21,6 @@ <property name="grub.stage2.name" value="stage2" /> <property name="grub.menu" value="${my-conf.dir}/menu.lst" /> <property name="grub.menu.cdrom" value="${my-conf.dir}/menu-cdrom.lst" /> - <property name="jnode.vbeMode" value=""/> <!-- define a default value in case none is given in jnode.properties --> <!-- Properties for building the boot files for windows NT/2K/XP --> <property name="jnode.install-nt.dir" value="C:\jnode" /> @@ -151,7 +150,6 @@ bits="${jnode.bits}" listfile="${build.native.dir}/jnodenative.lst" enablejnasm="${jnode.enable.jnasm}" - vbeMode="${jnode.vbeMode}" version="${jnode-ver} ${TODAY}"> <includedir dir="${src.native.dir}/x86" /> <includedir dir="${build.native.dir}/src" /> @@ -176,7 +174,6 @@ version="${jnode-ver}" jnodeCompiler="${jnode.compiler}" bits="${jnode.bits}" - vbeMode="${jnode.vbeMode}" enableJNasm="${jnode.enable.jnasm}"> <nanokernelsources srcfile="${src.native.dir}/x86/jnode.asm"> Modified: trunk/all/conf/x86/menu.lst =================================================================== --- trunk/all/conf/x86/menu.lst 2008-07-17 18:35:19 UTC (rev 4318) +++ trunk/all/conf/x86/menu.lst 2008-07-18 21:01:05 UTC (rev 4319) @@ -19,6 +19,13 @@ #module /fullgui.jgz # --------------------------- +# -- disabled +#title JNode GUI (all plugins) (VESA mode) +#kernel /jnode32.gz mp=no +#vbematch 800 600 32 +#module /fullgui.jgz + +# --------------------------- title JNode (default with MP) kernel (hd0,0)/jnode32.gz module (hd0,0)/default.jgz Modified: trunk/builder/src/builder/org/jnode/ant/taskdefs/Asm.java =================================================================== --- trunk/builder/src/builder/org/jnode/ant/taskdefs/Asm.java 2008-07-17 18:35:19 UTC (rev 4318) +++ trunk/builder/src/builder/org/jnode/ant/taskdefs/Asm.java 2008-07-18 21:01:05 UTC (rev 4319) @@ -98,8 +98,6 @@ private String version; - private boolean setVbe; - /** * Add an includedir * @@ -109,11 +107,6 @@ includeDirs.add(dir); } - public void setVbeMode(String vbeMode) { - System.err.println("setVbeMode"); - this.setVbe = (vbeMode != null) && (vbeMode.trim().length() > 0); - } - /** * Description of the Method * @@ -146,12 +139,6 @@ cmdLine.add("nasm"); } - if (setVbe) { - System.err.println("setVbeMode : add property"); - cmdLine.add("-D"); - cmdLine.add("SETUP_VBE"); - } - cmdLine.add("-D"); cmdLine.add("BITS" + bits); Modified: trunk/builder/src/builder/org/jnode/build/x86/BootImageBuilder.java =================================================================== --- trunk/builder/src/builder/org/jnode/build/x86/BootImageBuilder.java 2008-07-17 18:35:19 UTC (rev 4318) +++ trunk/builder/src/builder/org/jnode/build/x86/BootImageBuilder.java 2008-07-18 21:01:05 UTC (rev 4319) @@ -25,12 +25,12 @@ import java.io.IOException; import java.util.HashMap; import java.util.Map; -import java.util.StringTokenizer; + import org.apache.tools.ant.Project; import org.jnode.assembler.Label; import org.jnode.assembler.NativeStream; -import org.jnode.assembler.NativeStream.ObjectInfo; import org.jnode.assembler.UnresolvedObjectRefException; +import org.jnode.assembler.NativeStream.ObjectInfo; import org.jnode.assembler.x86.X86BinaryAssembler; import org.jnode.assembler.x86.X86Constants; import org.jnode.assembler.x86.X86Register; @@ -95,11 +95,6 @@ private int bits = 32; - private boolean useVbe = false; - private int vbeWidth = 0; - private int vbeHeight = 0; - private int vbeDepth = 0; - /** * The offset in our (java) image file to the initial jump to our * main-method @@ -657,12 +652,6 @@ + os.getLength()); os.set32(mb_hdr + MB_BSS_END_ADDR, (int) os.getBaseAddr() + os.getLength()); - - // initial wanted video mode (if possible) - os.set32(mb_hdr + MODE_TYPE, 0); - os.set32(mb_hdr + WIDTH, vbeWidth); - os.set32(mb_hdr + HEIGHT, vbeHeight); - os.set32(mb_hdr + DEPTH, vbeDepth); } /** @@ -737,38 +726,6 @@ this.bits = bits; } - public final void setVbeMode(String videoMode) { - System.out.println("videoMode=" + videoMode); - if ((videoMode == null) || (videoMode.trim().length() == 0)) { - useVbe = false; - vbeWidth = 0; - vbeHeight = 0; - vbeDepth = 0; - } else { - StringTokenizer stok = new StringTokenizer(videoMode.trim().toLowerCase(), "x", false); - if (stok.countTokens() != 3) { - throw new IllegalArgumentException("linearFrameBuffer must be of the form '<width>x<height>x<depth>'"); - } - - vbeWidth = Integer.parseInt(stok.nextToken()); - if (vbeWidth <= 0) { - throw new IllegalArgumentException("vbeWidth must be > 0"); - } - - vbeHeight = Integer.parseInt(stok.nextToken()); - if (vbeWidth <= 0) { - throw new IllegalArgumentException("vbeHeight must be > 0"); - } - - vbeDepth = Integer.parseInt(stok.nextToken()); - if (vbeWidth <= 0) { - throw new IllegalArgumentException("vbeDepth must be > 0"); - } - - useVbe = true; - } - } - /** * Initialize the statics table. * @@ -798,11 +755,6 @@ symbols.put(bits, ""); symbols.put("JNODE_VERSION", "'" + version + "'"); - if (useVbe) { - symbols.put("SETUP_VBE", ""); - log("Grub will setup linear framebuffer mode " + vbeWidth + "x" + vbeHeight + "x" + vbeDepth); - } - log("Compiling native kernel with JNAsm, Version " + version + ", " + i_bist + " bits"); JNAsm.assembler(os, sourceInfo, symbols); } catch (Exception e) { Modified: trunk/core/src/native/x86/kernel.asm =================================================================== --- trunk/core/src/native/x86/kernel.asm 2008-07-17 18:35:19 UTC (rev 4318) +++ trunk/core/src/native/x86/kernel.asm 2008-07-18 21:01:05 UTC (rev 4319) @@ -95,7 +95,7 @@ jb multiboot_mmap_copy multiboot_mmap_done: -%ifdef SETUP_VBE +; setup the vbe infos ; Are vbe informations available ? test dword [multiboot_info+MBI_FLAGS],MBF_VBE jz vbe_info_done ; no vbe info, jump to end @@ -125,8 +125,8 @@ mov ecx,VBEMODEINFO_SIZE rep movsb vbe_info_done: -%endif + ; Initialize initial jarfile mov esi,[multiboot_info+MBI_MODSCOUNT] test esi,esi @@ -314,7 +314,7 @@ dd 0 ; Entries times (MBI_MMAP_MAX * MBMMAP_ESIZE) db 0 -%ifdef SETUP_VBE +; vbe informations multiboot_vbe: times (VBE_ESIZE) db 0 @@ -323,4 +323,3 @@ vbe_mode_info: times (VBEMODEINFO_SIZE) db 0 -%endif \ No newline at end of file Modified: trunk/core/src/native/x86/unsafex86.asm =================================================================== --- trunk/core/src/native/x86/unsafex86.asm 2008-07-17 18:35:19 UTC (rev 4318) +++ trunk/core/src/native/x86/unsafex86.asm 2008-07-18 21:01:05 UTC (rev 4319) @@ -84,32 +84,17 @@ ; Address getVbeInfos(); GLABEL Q53org5jnode2vm3x869UnsafeX8623getVbeInfos2e2829Lorg2fvmmagic2funboxed2fAddress3b -%ifdef SETUP_VBE mov AAX,multiboot_vbe -%endif -%ifndef SETUP_VBE - mov AAX,0 -%endif ret ; Address getVbeControlInfos(); GLABEL Q53org5jnode2vm3x869UnsafeX8623getVbeControlInfos2e2829Lorg2fvmmagic2funboxed2fAddress3b -%ifdef SETUP_VBE mov AAX,vbe_control_info -%endif -%ifndef SETUP_VBE - mov AAX,0 -%endif ret ; Address getVbeModeInfos(); GLABEL Q53org5jnode2vm3x869UnsafeX8623getVbeModeInfos2e2829Lorg2fvmmagic2funboxed2fAddress3b -%ifdef SETUP_VBE mov AAX,vbe_mode_info -%endif -%ifndef SETUP_VBE - mov AAX,0 -%endif ret ; void setupBootCode(Address memory, int[] gdtBase, int[] tss); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |