|
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.
|