Hello everybody,
Just to let you know, I've just added HTTP/WebDAV access for our
read-only Git mirror as requested by a developer.
This means that you can also clone from
http://git.reactos.org/reactos.git now if you sit behind a firewall
blocking the Git protocol.
Of course, the previous URL git://git.reactos.org/reactos.git will
continue to work.
Best regards,
Colin
HI,
recently I had to alter some inf-files for fixing a bug. At present we have
for each platform (i386, arm, amd64) separate files, which are hard to
maintain because of some identical, that aren't platform dependent. Therefore
I suggest the following change and I will write an example and the necessary
tool:
- combine all platforms to one file and work with special block markers
- block markers work like filters, empty markers means all platforms otherwise
the platforms limited to are given in comma separated lists
- we have to maintain only one single file and the alteration is minimal,
because the marker is a simple (syntactically comment) line
like ";#platform_a,platform_b#" or ";##"
- the needed file is extracted at build time, always up-to-date and shipped in
the same way as present
General remark: we have to make some efforts to bring (or at least to keep)
the project in understandable and maintanable state. We have to use and
introduce tools to reduce needless efforts resulted by managing multiple
similar files which could be better generated without failures (that people
tends to do). This and only this is my intention for this suggestion.
Request for comments - other ways or changes with same goal are welcome
Matthias
--
Matthias Kupfer phone +49 371 236 46 52
Wilhelm-Firl-Straße 21 mobile +49 160 859 43 54
09122 Chemnitz, Germany
Hi guys/devs/testers/translators/followers !
I have just received this information from the OSWC organization:
"Nos complace comunicarle que su propuesta presentada al Call for Paper ha sido
aprobada de forma preliminar por el Comité de Ponencias de la Conferencia
Internacional de Software Libre para su comunicación pública.
Actualmente el programa de la Conferencia se encuentra en una fase temprana de
elaboración, por ello solicitamos de usted nos comunique antes del próximo día
28 de septiembre de 2010, su disponibilidad para estar en Málaga tanto el día
27 de octubre, el 28 o ambos.
Agradecemos su dedicación e interés y esperamos disfrutar de su compañía en
Málaga
Atentamente "
You can use Google translator. Or summing up: "We are IN"
Thanks to anyone who has voted and wish me good luck :)
If anyone is interested about coming, please contact me before 28 September (there is one day just for professionals and closed to the general public) :)
Victor Martinez
"
> From: gedmurphy(a)gmail.com
> To: ros-dev(a)reactos.org
> Date: Thu, 23 Sep 2010 08:09:57 +0100
> Subject: Re: [ros-dev] 0.3.12 milestones status
>
> victor Martinez wrote:
>
> > In the same way, and imho, I think it is much better
> > to avoid sending critical code one month before the release.
>
> This isn't how you release.
> The whole point in branching for a release is so you can stabalise the
> branch whilst trunk continues to be 'bleeding edge'
> What's the point in branching otherwise? We may as well just tag trunk and
> do away with branching.
I am not agree :) As far as i see we have tried to (more or less)stabilize trunk before branching at least in the 2 latest releases. An i.e is the 0.3.12 release, if we are following the "bleeding edge" concept then we should have branched several months ago and just pulled the regression fixes from trunk to the branch. Our approach was different: Stabilizing trunk fixing the known regressions (which,btw,were marked as Milestones) and then branching.
There is not an incompatibility with the "stabilizing trunk" and "branching" concepts. First because exists the "Hack-releases" (fixes just applied for the release) and that just can be done in a branch. Second because a (more or less) stabilized trunk doesn't mean a regression-free trunk (but it could be).
The first main advantage (about avoid sending critical code in the month we are going to release) is that we will have a whole month to check if the critical changes has waken up underlying bugs (or if the critical changes has introduced Eisenbugs).If we are following the "bleeding edge" approach we can just pray to find those Eisenbugs in the Release Candidate ISO tests and, since there aren't a lot of testers checking the RC ISO, it is quite unprovable.
The second main advantage is that we reduce the Release Engineers amount of work. It is not the same bugging them to create just one RC ISO than bugging them to create 2 or 3 because playing with the "bleeding edge" concept.
> > I am not agree :) As far as i see we have tried to (more or less)
> > stabilize trunk before branching at least in the 2 latest releases.
> This is because trunk has been in a mess for the past few releases.
> Due to its instability it wasn't worth branching it as it was so far from
> being releasable.
> In the past we had (strived for) a 2 month release cycle.
> We branched every 2 months no matter what and then worked on getting that
> release out.
> This is how linux and most other serious open source projects work. It's all
> about discipline.
"About discipline" and about having a lot of developers which can cover all the needs a project has. ;)
And let me not talk about some "serious open source pojects" with tons developers/users which has introduced and released with critical regressions.
> > There is not an incompatibility with the "stabilizing trunk" and
> > "branching" concepts. First because exists the "Hack-releases" (fixes
> > just applied for the release) and that just can be done in a branch.
> > Second because a (more or less) stabilized trunk doesn't mean a
> > regression-free trunk (but it could be).
> This is exactly what it's for. Branch, fix bugs or hack bugs away.
> Merge real bug fixes back into trunk, tag and release.
Sure, I was just answering to your "What's the point in branching otherwise?" which seemed to be a question about an incompatibility with "avoiding critical commits" and "stabilizing trunk" before branching.
> > The first main advantage (about avoid sending critical code in the
> > month we are going to release) is that we will have a whole month to check
> > if the critical changes has waken up underlying bugs
>
> This is the ongoing job of the testers to do both in trunk and more
> importantly, in release branch.
> If any serious bugs are found late in the process, drop the branch, fix in
> trunk and rebranch.
Just 2 words: Im-possible. :) You need a testing time frame.
There is something called "Probability" of finding a regression(even more finding an eisenbug). If you branch right after a critical commit and that critical commit has introduced a regression you have much less "Probability" to find it that if the last critical commit was made 1 month ago.
Even more, Release Candidates are mainly just tested by the Testers. So finding the regression depends mainly on "Probability Testers find a regression in one week"
But during that Quarantine month other commits (non critical ones) can be sent and developers can feel/find regressions too. So finding the regressions would depend mainly on "Probability Testers and Devs find a regression in one month". Notice that the testing group is wider and so the time.
We don't have Testing manpower to find a regression the next day/week it was commited.
> > The second main advantage is that we reduce the Release Engineers amount of work.
> But you hamper development. Locking down trunk for a month before every
> release is a sure way to drive away all of your developers.
> I would refuse to work on a project which worked in this way, as would most
> other devs I assume.
Who talked about freezing trunk? I should define 1-month Quarantine better: "Avoid commiting to critical areas. The trunk is open for those non-critical ones. You can send meanwhile your critical patches to a branch and after the release pushing them to trunk.". You have a ReactOS branch if needed.
> If you're finding when release time comes that no devs work on fixing the
> release branch and instead continue adding new code to trunk, then you have
> a developer discipline issue not a release process issue.
If we pay our developers we can ask for discipline meanwhile we can just accept their patches or refuse them.
Will you refuse a Patch? Or maybe revoke a Dev commit access to create discipline? Any useful ideas?
> Locking trunk is just a way to work around your developer discipline problem
> instead of tackling the real problem, your devs can't be bothered to fix
> existing code and continue to ignore their duties and add new code instead.
Noone talked about Locking Trunk, and there are no duties. IIRC you were the first person that explained me why there are no dutie$ in this project.
> Ged.
Vic
Hello,
0.3.12 was branched today, so I removed the lock from trunk. However,
I want to really ask everyone not to jump into modern fancy features
but pay more attention to fixing core parts of the system.
Victor is doing the change log draft, and if Colin has time I would
like to ask him to apply our usual release stuff.
WBR,
Aleksey Bragin.
You have done a pretty cool work.
0.3.12 Changelog is opened, I have added a "Regression", "General Bugs" section where i reflect the Bugs fixed from 0.3.11 to 0.3.12. This is a little bit more user-friendly.
You can find it here: http://www.reactos.org/wiki/ChangeLog-0.3.12#General
The Bugzilla stats shows the next:
- There were 259 General Bugs fixed (Regressions fixed are not counted here)
- There were 20 Translations sent in 11 different Languages.
- And you fixed 61 Regressions
So more than 320 bugs has been fixed in less than 300 days.
(Without counting Bugfixes in branch)
You have killed more than 10 bugs older than 3 years old. And the eldest one is "#969 Minimized windows are shown on desktop" which is 5 years old.
Congratz :)
[CC] dll/win32/kernel32/file/file.c
cc1: warnings being treated as errors
dll/win32/kernel32/file/dir.c:21: error: 'gDebugChannel' defined but not used
make: *** [/mnt/ramdisk/buildbot/release/obj/dll/win32/kernel32/file/dir_kernel32.o]
Error 1
make: *** Waiting for unfinished jobs....
Hello,
After the switch in 48124 to PE FreeLDR, I am unable to boot FreeLDR any longer.
I have tried official, as well as various unofficial freeldr.sys, none worked.
47892 version works fine, 48124 does not.
On a 512MB IDE disk, I got the "_" VGA cursor scrolling endlessly/randomly on the screen, before even seeing "Loading FreeLDR..."
With a 1GB SCSI disk, tested also with a 6GB IDE disk, it remains stuck at "Loading FreeLDR...".
This seems strange: "Now booting from fat partitions (looks like that's what sysreg does) works again. It's safe under the condition that the cluster size is at least 4352 bytes, which is true for harddisks of sizes bigger than 272MB. Booting from smaller fat disks, like floppy breaks when freeldr.sys gets fragmented, which should rarely happen."
Please advise.
-r
Hello all,
I have noticed, that pxefixup does not set IMAGE_SCN_MEM_NOT_PAGED flag
for read-only data section ".rdata". May it be, that it is problem
for my own build of tools
586-mingw32-gcc (GCC) 4.4.2 and
GNU ld (GNU Binutils) 2.20.51.20100608
I have fixed the problem by preparing modified LD script version
which collect object files .rdata section into .text section
for my driver build.
But .rdata is legitimate section and it is automatically
generated by GCC. I have not found information in Wiki
or list archives, that there is some way/patch to deal
with this situation. But if it is allowed, that WDM
driver binaries contains readonly section then data paging
could lead to horrible consequences. Possible fix
diff --git a/reactos/tools/pefixup.c b/reactos/tools/pefixup.c
index f908a9a..d6ec1f4 100644
--- a/reactos/tools/pefixup.c
+++ b/reactos/tools/pefixup.c
@@ -381,6 +381,7 @@ int main(int argc, char **argv)
if (!strcmp((char*)section_header->Name, ".text") ||
!strcmp((char*)section_header->Name, ".data") ||
!strcmp((char*)section_header->Name, ".idata") ||
+ !strcmp((char*)section_header->Name, ".rdata") ||
!strcmp((char*)section_header->Name, ".bss"))
{
section_header->Characteristics |= htodl(IMAGE_SCN_MEM_NOT_PAGED);
If .rdata are not allowed or should be used only for pseudo_reloc,
then the ldscript for kernel code should be provided.
Missing flag for .rdata section in objdump ouput
$ i586-mingw32-objdump --headers ul_wdm.sys
BFD: ul_wdm.sys: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section .text
BFD: ul_wdm.sys: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section .data
BFD: ul_wdm.sys: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section .bss
BFD: ul_wdm.sys: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section .idata
ul_wdm.sys: file format pei-i386
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 0000cabc 00011000 00011000 00001000 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 000000e8 0001e000 0001e000 0000e000 2**2
CONTENTS, ALLOC, LOAD, DATA
2 .rdata 00003c20 0001f000 0001f000 0000f000 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
3 .bss 00000050 00023000 00023000 00000000 2**2
ALLOC
4 .edata 00000033 00024000 00024000 00013000 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
5 .idata 000008c4 00025000 00025000 00014000 2**2
CONTENTS, ALLOC, LOAD, DATA
6 .rsrc 0000035c 00026000 00026000 00015000 2**2
CONTENTS, ALLOC, LOAD, DATA
7 .reloc 00000cd4 00027000 00027000 00016000 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
8 .rossym 0001576d 00028000 00028000 00017000 2**2
CONTENTS, READONLY, NEVER_LOAD, EXCLUDE
Hi folks,
did anyone already do some research on whether ReactOS could
run in lguest ?
Maybe this could be a nice for development/debugging and
attracting more people ;-)
cu
--
----------------------------------------------------------------------
Enrico Weigelt, metux IT service -- http://www.metux.de/
phone: +49 36207 519931 email: weigelt(a)metux.de
mobile: +49 151 27565287 icq: 210169427 skype: nekrad666
----------------------------------------------------------------------
Embedded-Linux / Portierung / Opensource-QM / Verteilte Systeme
----------------------------------------------------------------------
As we progress into regression fixing, we are now in the good moment to
decide upon upcoming release. It would be great if we could manage with the
0.3.12 for the October Chemnitz event, where we are invited again to
participate, not to mention that its the time for such release.
Right now, in my opinion we should decide without futher delay on the
following:
- reviewing the REGRESSION list, this is - to confirm entries with 0.3.12
milestone already set, as well as doublecheck the rest, to see if any should
be promoted to said milestone. This is the action of most utter importance,
as there is no way to know how much time will be spent on futher research,
testing and fixing them;
- decide upon bugs originated with last ole/comctl sync - are we haxing them
locally, risking another winesync or perhaps reverting?
- reviewing patches stored at http://www.reactos.org/wiki/Bug_Filters as
well as deciding if any should be adapted for current release.
Those actions, first of them especially, should be performed as swift as
possible, else we might risk considerable delay and nervous finish before
the Chemnitz.
hello,
this is to sir_richard, mostly,
i got this crash (assert) when shutting down ReactOS with the VirtualBox
Guest Additions installed.
i think the video driver is guilty for some reason i cannot understand...
probably you know :)
http://www.reactos.org/paste/index.php/7731/
Hello to all ReactOS developers,
thanks for great work. I introduce our case first.
--------------------------------------------------------------------
We have developed, maintain and use uLan RS-485 multi-master protocol
for years - sources traced to 1992 year. The protocol is used by
multiple companies and individuals for broad range of applications
from laboratory instruments control, home automation to agriculture
feeding and milking systems. We started by Linux support. But due
to customers demand, we have added Windows KDM and later WDM
support as well. I remember, that pointer to our driver has been
mentioned as one of little fully open-source drivers available
for Windows on ReactOS list many many years ago.
The uLan project homepage
http://ulan.sourceforge.net/
The uLan driver code can be compiled for Linux, Windows NT KDM,
Win98/2k/Vista WDM, plain DOS, system-less ARM and other devices.
The old legacy UART, PCI addon cards and USB converters
are supported for Linux and WDM version. All builds form same
sources with unification layer of macros which unifies systems
to something more close to Linux driver model. The code is
not so elegant and readable, the portability layers are quite
complex and sometimes hairy tasks. The traces of old age of
project can be seen there as well.
But it works and may it be, it could be some example
and source of helpers functions for porting of Linux
USB drivers to WDM model.
The ReactOS has got to the stage where it is able to run one
of our user applications utilizing our control protocol link.
Because I believe in open technologies, I would be very
happy if the project is usable even on RectOS - even that
I do not expect that our users could and want to switch
anytime soon or ever.
The Open Chromatography Station - CHROMuLAN
http://sourceforge.net/projects/chromulan/
If you think that it worth, it can be added to the
list of applications working with ReactOS 0.4-git/svn.
--------------------------------------------------------------------
As for the uLan driver. I have maneged it build for WDF with PCI
and UART support only to run on ReactOS and whole CHROMuLAN
setup seems to be functional.
I have even interrest to build driver code with ReactOS to test it more,
find incompatibilities and continue with 64-bit testing in future.
The effort seems to be not so far form success. The driver builds
with RectOS build under Linux when USB support is disabled.
The build with USB seems to be near as well.
There are two main problems:
1) We need to include usbdlib.h in the driver build, but DECLSPEC_EXPORT
in this header is not declared/maintained. We use this file
for next types declaration
USBD_INTERFACE_LIST_ENTRY
PUSBD_INTERFACE_LIST_ENTRY
struct _USBD_INTERFACE_LIST_ENTRY'
May it be, we should use different include headers, but next setup
works for years with Microsoft WDF
#include "wdm.h"
#include "usbdi.h"
#include "usbdlib.h"
2) If we overcome by some hack problem 1) the link fails on undefined
references to
__imp__USBD_ParseConfigurationDescriptorEx@28
__imp__USBD_CreateConfigurationRequestEx@8
There seems to be traces of implementation of these functions
in ReactOS old/disabled USB code. The functions are even included
in usbd.sys, usbd.exp and drivers/usb/usbd . But import library seems
to be missing. Am I right? Is there way to use them or plan to solve
that.
Thanks for reply in advance. Even that we do not much expect to use
ReactOS build in production environment the option has value for us.
It allows to test Windows builds in Linux environment without
need to start Wine for WDF. ReactOS build even helped us to find
some real bugs in our code because rectos runtime is more strict
in some checks then Windows systems.
Please, keep my email addres in reply, I do not expect (have ability)
to follow ReactOS development closely between my other duties.
It is unfortunate a little, that only way to contact developers
on the list is to subscribe.
Best wishes,
Pavel
--
Pavel Pisa
e-mail: pisa(a)cmp.felk.cvut.cz
www: http://cmp.felk.cvut.cz/~pisa
university: http://dce.fel.cvut.cz/
company: http://www.pikron.com/
Hello devs,
Few users at spanish ReactOS blog ( http://reactos.wordpress.com ) are
asking about having both Windows and ReactOS installed in different
partitions at the same time...
And i wanted you to answer, rather than me... :P
What would you say? Is it currently possible?
Hi,
while working on GPT handling for ReactOS, one thing appeared: Microsoft (at least in Windows 2003 SP1) is using hardcoded partition entry size, ie it assumes that every partition entry in GPT will be 128 bytes big. Even if that assertion is largely right, it might exist cases where it's wrong. That's even why there's a field in GPT header that contains such size. Furthermore, reading Apple technical note(1) about GPT precise one more thing: "Do not hardwire the current size of the partition entry (128 bytes).".
As we have no commercial issues with Apple, perhaps could we drop a bit compatibility with Windows 2003 and fix something obvious? In most cases, users won't see any difference. Only difference would be that ReactOS could properly handle GPT with exotic partition entry size when Windows can't.
Any opinion on that subject?
Best regards,
P. Schweitzer
(1): http://developer.apple.com/library/mac/#technotes/tn2006/tn2166.html
Hello,
eVb checked in one of his final patches yesterday from his development machine in China, where we worked on a final pass on the driver. Unfortunately, my last two (unrelated) check ins were done from his machine (as most of you know, I was in China for the past month), and he was not used to SVN caching the credentials of the last user. Revision 48748 was a checkin from eVb, and his "goodbye" was in reference to my departure. Since it used my cached credentials from the same machine, it must've caused a lot of confusion.
Many apologies and thanks for understanding.
-r
fireball(a)svn.reactos.org wrote:
> Author: fireball
> Date: Sat Sep 11 09:20:26 2010
> New Revision: 48745
>
...
> /* Save EFlags */
> + Esp -= 4;
> + *(PULONG)(Esp - 2) = V86EFlags;
>
This looks wrong to me. The (Esp - 2) I mean.
> + if (KiVdmGetPrefixFlags(Flags) & PFX_FLAG_OPER32)
> + {
> + /* Read EFlags */
> + EFlags = *(PULONG)Esp;
> + Esp += 4;
> + }
> + else
> + {
> + /* Read EFlags */
> + EFlags = *(PUSHORT)Esp;
> + Esp += 2;
> /* Read correct flags and use correct stack address */
> - Esp -= 2;
> EFlags &= 0xFFFF;
>
Here the comment got broken a bit.
> /* Set new ESP */
> - TrapFrame->HardwareEsp = Esp;
> + TrapFrame->HardwareEsp = (USHORT)Esp;
>
This is not correct. We earlier calculated the flat Esp from Ss and Sp.
Example:
HardwareSegSs = 0x10, HardwareEsp = 0x10 -> flat Esp = 0x110, then you
substract 4, and get 0x10C. But this is not the value of the new
HardwareEsp. TrapFrame->HardwareEsp needs to be either modified in
parallel to the flat Esp or calculated like (USHORT)(Esp -
(TrapFrame->HardwareSegSs << 4)).
Regards,
Timo
Hi!
I just found a severe bug in hardware detection code of Freeldr. It uses
two configuration nodes in the hardware tree to pass information about
detected hard-disks to ntoskrnl.exe and disk.sys.
First, hard-disk information is passed as a DiskPeripheral node attached
to a DiskController node.
Second, hard-disk information is passed as an array of
CM_INT13_DRIVE_PARAMETER entries in a special system configuration node,
if the disks were detected by the BIOS.
As part of the boot process, the special system configuration node is
used by disk.sys to determine the disk geometry used by the BIOS.
Unfortunately, this configuration node did not use the extended disk
geometry (LBA geometry) but the old CHS geometry even if the LBA
geometry was available.
I already fixed this bug in my local source tree and suddenly Freeldr,
disk.sys and usetup.exe report exactly the same disk geometry as gparted
(http://gparted.sourceforge.net/download.php). Unfortunately, using this
patch breaks the 2nd stage setup.
I will provide a patch that fixes the Freeldr issue as soon as I have
cleaned up the source tree.
Please help me find the remaining bug or workaround that keeps ReactOS
from booting into 2nd stage setup! I guess it is either part of usetup
or somewhere in the partition management routines.
Regards,
Eric
Hi,
why reimplementing an unsecure IoReadPartitionTable version? It even looks like IoReadPartitionTableEx() which may arrive soon in ReactOS ;).
Best regards,
P. Schweitzer
Hi,
What You say makes sense of course.
I can't find time to dig into the code, but it sounds like you acted
correctly.
We can of course improve the setup behavior as time goes and we learn how
to do it right with various boot managers, no need to take after
Microsoft here,
but there will always be cases when we don't know how to wedge the boot in.
We can always, as long as there is a free partition or free space to
create one, get as far
as installing the OS and it's partition boot, but may be unable to
install a master boot,
if the user has an unknown boot manager we don't recognize
One way to deal with it would be to chain the master boot.
That is, we save the original master boot to a file, and implement a query
in our own master boot, whether the user want to boot ROS, or continue
with the original master boot. It would be a small matter to load the
original
master boot and giving control over to it if need be.
Sure, it's one more pit-stop on the way to OS, but it would take care
of all the cases we cannot know, or cannot handle.
Best Regards
L from Hell
Eric Kohl <eric.kohl(a)t-online.de> wrote:
> Hi!
>
> Being cooperative was my intention when I wrote this part of usetup.
> The bad thing about this approach is that usetup needs to deal with
> all kinds of different situations that developers cannot even think
> about. The only proper way to fix this situation was: "Don't touch it
> if you don't know how to deal with it!" The result was that usetup
> could only handle empty harddisks and Windows boot managers correctly.
> Except for these two cases there are lots of different situations that
> a setup application cannot deal with. That's where the user must fix
> things. That's why usetup enables users to save the bootsector to a
> floppy disk. This enables them to fix the unknown situations
> themselves. Unfortunately this means that newbies might not be able to
> install the bootcode properly. But I thought it was better not to
> overwrite a bootsector that to unintentionally damage a system.
>
> The question how to handle this correctly is a difficult one.
> Microsoft chose the easy way as they behave like they are the owner of
> the system and overwrite everything as they see fit. But implementing
> this part of the setup in a way that fits everyones needs is a very
> difficult task. Just think about the different filesystems and
> different versions of LILO and GRUB and what about other third-party
> boot-managers...
>
> Regards,
> Eric
Hi!
Please test this with GRUB and LILO, since I use LILO on my main
hardware test. I do not have access to it for the moment. During the
installation of the boot CD, I do not overwrite the MBR. I just hope
it works when I get back to work with the project.
Thanks,
James
Second that.
If it ain't broke, don't bloody "fix" it.
Best Regards
L from Hell
Alex Ionescu <ionucu(a)videotron.ca>:
> This is retarded, GAS supports Intel syntax. Why did this require
> rewriting everything in AT&T syntax and introducing bugs? And what's
> up with calling AT&T syntax "GAS" Syntax.
>
> I wonder what Brian would say....
>
> It's funny how this project gets rid of old developers, gets new
> developers, and has them make the same mistakes/idiotic things the old
> developers left for in the first place...
>
> Good job!
>
> Best regards,
> Alex Ionescu
>
>
Allow me to present a small sub-project Gabriel and I are working on. We did
a small scale consulting, but its the time to present it on a more wider
scale.
As a comment, specifically to Timo's post: 2nd class tags should not be
conflicting with Component field when possible. In case of Kernel and
win32k, a submodule should be used instead of module name: for example in
case of kernel bugs, Components should be set to Kernel, whereas 2nd class
tag should be pointing to kernel submodule, like iomgr:, ob:, mm: etc.
All opinions are most welcome
Best regards
Hi
I'd like to propose an overhaul of our bugzilla interface. The reason is
that the current interface is ugly and confusing and I think we can make
filing and handling bugs less unenjoyable ;-)
First I think it would be very useful, if we could edit the description
field of the bugs. This way we don't need to browse through dozens of
comments to find all neccessary info, while the description only
contains useless stuff. This should be restricted to the original
reporter and testers / developers.
Then when filing a new bug or looking at a bug that is already filed,
the layout is horrible. I'm not a webdesigner, so it's hard for me to
say how it should look like, but definately not the way it is. This
might be appropriate for projects whose website look like
http://www.gnu.org/software/binutils/ but I'm sure, we can do better.
Then when filing a bug there are the following fields:
- reporter - I know who I am, so why show it to me? Unneccessary
- Component: I don't think this field is really useful as it is. First:
Patches are definately not a component. Then it's often hard to tell
where the bug is. for example, if rapps doesn't download anything, is
that related to network or is it a kernel bug or win32 or rapps or is
only the server down? You often don't know it when filing a bug. Also
win32 covers a lot from win32k to shell32, but are these more closely
related than drivers and networking?
- Severity: while I think this field is useful and important, it should
only be editable by testers and developers and should not appear when a
bug is filed.
- Platform: should be removed
- OS: should be removed
- AssignTo, Cc: rarely used on first filing, should IMO only be editable
by testers / developers
- URL: While we use this field from time to time, I think the URL could
as well, if neccessary be put into the description field (provided, it
was editable). This versatile field should imo change it's purpose from
URL to TAG. So we can add different tags, like REGRESSION, PATCH, HACK,
that are currently put into the summery field. It could also contain the
regression range or guilty version
- Alias: we don't use this, or rather currently only misuse this for the
guilty version, which is problematic, as soon as 2 bugs have the same
guilty version, IMO unneccessary
- Summery: should be as wide as the description field
- Description: To get better bugreports, I suggest dividing this field
into "Steps to reproduce:" "Experienced behaviour:" "Remarks"
These fields can very well be automatically merged into one field, It's
just to show people that they must provide steps to reproduce, instead
of writing dozens of lines about their hardware configuration and how
they feel about the bug.
Regards,
Timo
Hello,
Many thanks for fixing this idiotic oversight of mine. I apologies for the long hours of debugging I must have caused.
This fix is somewhat incomplete/at the wrong place; could this be marked as such in the code, perhaps with a FIXME under my name, so that I may fix this correctly upon my return to the US?
Much obliged!
-r
Author: mjmartin
Date: Sat Aug 28 00:26:02 2010
New Revision: 48632
URL: http://svn.reactos.org/svn/reactos?rev=48632&view=rev
Log:
[ntoskrnl/ps]
- When deleting a Process remove the Process from the MmProcessList. Fixes random NonPaged Pool corruptions. Thanks aicom for assistance.
Modified:
trunk/reactos/ntoskrnl/ps/kill.c
Modified: trunk/reactos/ntoskrnl/ps/kill.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ps/kill.c?rev=486…
==============================================================================
--- trunk/reactos/ntoskrnl/ps/kill.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/ps/kill.c [iso-8859-1] Sat Aug 28 00:26:02 2010
@@ -300,6 +300,8 @@
/* Detach */
KeUnstackDetachProcess(&ApcState);
+
+ RemoveEntryList(&Process->MmProcessLinks);
/* Completely delete the Address Space */
MmDeleteProcessAddressSpace(Process);
I ran into this on Fedora 13,
[HOST-CC] tools/cabman/cabinet.cxx
tools/cabman/cabinet.cxx: In member function ‘bool
CCabinet::CreateSimpleCabinet()’:
tools/cabman/cabinet.cxx:2177: error: no matching function for call to
‘stat::stat(char [260], stat*)’
/usr/include/bits/stat.h:40: note: candidates are: stat::stat()
/usr/include/bits/stat.h:40: note: stat::stat(const stat&)
from http://code.google.com/p/libproxy/issues/detail?id=122 the patch
is based on this;
http://code.google.com/p/libproxy/issues/attachmentText?id=122&aid=20023750…
Index: tools/cabman/cabinet.cxx
===================================================================
--- tools/cabman/cabinet.cxx (revision 48297)
+++ tools/cabman/cabinet.cxx (working copy)
@@ -21,7 +21,8 @@
#if !defined(WIN32)
# include <dirent.h>
#endif
-#if defined(__FreeBSD__) || defined(__APPLE__)
+#if !defined(WIN32) || defined(__FreeBSD__) || defined(__APPLE__)
+# include <sys/types.h>
# include <sys/stat.h>
#endif // __FreeBSD__
#include "cabinet.h"
Not sure this is right, so~ posted here for fast review and fix,
James
akhaldi(a)svn.reactos.org wrote:
> +++ branches/cmake-bringup/base/applications/calc/CMakeLists.txt
> [...]
>
> +file(GLOB_RECURSE SOURCE *.c)
> +list(REMOVE_ITEM SOURCE
> + ${CMAKE_CURRENT_SOURCE_DIR}/fun_mpfr.c
> + ${CMAKE_CURRENT_SOURCE_DIR}/rpn_mpfr.c
> + ${CMAKE_CURRENT_SOURCE_DIR}/utl_mpfr.c)
Should GLOB_RECURSE and later removing unwanted source files really be
the way to go?
The only advantage I see are smaller CMakeLists files.
On the contrary, it is quite an uncommon way and just adding a single
unrelated file into an application's directory could render it unbuildable.
Additionally, please take a look at
http://public.kitware.com/pipermail/cmake/2010-July/037833.html.
According to this user, CMake cannot automatically detect added files
when using GLOB_RECURSE.
In my opinion, we should list every source file to be included to
prevent unexpected side effects.
Cheers,
Colin
Hi everybody,
Looking at
http://www.reactos.org/pipermail/ros-diffs/2010-August/038197.html and
the same message in Thunderbird, I now see a need to automatically
truncate all subject lines in ros-diffs' mails to 200 characters. I
don't think that anybody reads the full commit messages through subject
lines, so 200 characters should be enough to identify a commit easily.
If there are no objections, I'll try to change this in the next few days.
Cheers,
Colin
Hello everyone!
In the latest 6 months, Niski and I have been working on a testing ground/proof of concept of a ReactOS community site, currently called the ReactOS Portal.
The idea of a ReactOS community site has been floating around for years due to the fact that our followers (Users and Non-Users) keep expecting more info and more features.
For this purpose, and having in mind that a ReactOS community site needs to focus on the followers' needs, we've created a light, eyecandy, easy to maintain Drupal-based site, to serve as a testing ground, and also as a proof of concept for the ReactOS Community idea.
Despite the fact that the community site is mainly targeted towards the project followers, we didn't forget our developers and official testers needs. We've already included some (hopefully) useful features, and we welcome ideas and suggestions.
The community site is made for everyone, by everyone.
To avoid quite a lengthy email, we'll enumerate the Top Features we've added. We've also prepared a PDF and a Video, that you can download from this URL:
http://download.myreactos.com/?dir=Vicmarcal )
************ALL+IN+1***********
All the info in ONE click (latest blog posts, forum replies, commits, ML posts and wiki activity)
******Multiblogging System*****
Several blogs, managed from just one Blogging System. Easy to post and maintain.
***********IRC-CHAT************
An integrated IRC client for the ReactOS communiy.
*********Contact Page**********
Redesigned, full of info.
**************FAQ*************
A much more user oriented FAQ with new Tester and Translator sections.
************RosKarma***********
A new forum module : "More Karma an User has, more reliable he is" and a new Autobanning System : "Bye,bye Trolls".
*********Answered Post*********
Another new forum module : Answered topics turn Green(easy to spot) and get locked ("No more Necromancy").
***********Rosquests***********
Another new Forum module : "Use Forum Users skills for ReactOS project".
How? Read the PDF or watch the video for more details.
**********MultivideoBox********
"An image is worth than thousand words".
Videotutorials, ReactOS presentations... and much more.
*******Social Networking*******
"Facebook, Vimeo, Youtube, and Tweeter integration".
And after getting some feedback we've added more features :
***Unlimited/Free FTP account***
Now Official Developers/Testers can have FTP accounts to easily and conveniently share ReactOS ISOs (or any other files).
We're also considering integrating the Software Compatibility Database into the Portal.
We hope you like it, your feedback is very important, so that we can create a comfortable, highly efficient Community Site.
More info in the Video+PDF: http://download.myreactos.com/?dir=Vicmarcal
Thanks to all the ReactOS members that are joining, posting and translating. Thanks to everyone involved ;)
Victor Martinez Calvo
Maciej Bialas
www.myreactos.com
sir_richard(a)svn.reactos.org wrote:
> Author: sir_richard
> Date: Sat Aug 7 05:02:58 2010
> New Revision: 48475
>
> URL: http://svn.reactos.org/svn/reactos?rev=48475&view=rev
> Log:
> [KERNEL32]: While working on the CMAKE branch, Amine and myself discovered a rather serious issue in kernel32 (and perhaps other libraries as well).
I'm sure noone else could have discovered this issue before. cmake was
the key! ;-)
> Unlike rbuild, CMake does not allow you to export non-existant DLL functions (try it: add "poopyhead" in kernel32's exports under RBuild, and will it export "poopyhead", God knowing what that will actually link to).
>
That's an undocumented rbuild feature, called api-out-of-thin-air. To
understand how it works, you must study quantum chaos theory.
> there already exists a function for: *RtlSetLastNtStatusFromWin32Error*.
>
I see, with cmake, this feature works on ntdll as well ;-p
Regards,
Timo
PS: build is broken.
I have a couple of questions/suggestions. Even if it was a mistake to
commit it to trunk, I still express my opinion because I think it's
important for the changes to stay in trunk.
1. Channel-based system is preferred to the plain NDEBUG/DPRINT one.
Kernel32 should not really be an exception. If there is something
wrong, it's better to put some more time into it and fix the actual
problem in that debug library. Everyone who ever tried to debug any
usermode app in ROS, would understand.
2. .pspec file was also invented as a consistent way to be compatible
with different compilers. Winebuild generates stubs for entries
marked as "stub", so it's quite controllable.
3. Everything else is great, nice to see that mess being finally
cleaned up.
WBR,
Aleksey Bragin.
On Aug 7, 2010, at 9:02 AM, sir_richard(a)svn.reactos.org wrote:
> Author: sir_richard
> Date: Sat Aug 7 05:02:58 2010
> New Revision: 48475
>
> URL: http://svn.reactos.org/svn/reactos?rev=48475&view=rev
> Log:
> [KERNEL32]: While working on the CMAKE branch...
tkreuzer(a)svn.reactos.org wrote:
> Author: tkreuzer
> Date: Thu Aug 5 12:23:23 2010
> New Revision: 48461
>
> URL: http://svn.reactos.org/svn/reactos?rev=48461&view=rev
> Log:
> [NTOSKRNL]
> - Fixed FsRtlIsNameInExpression to make it properly handle * in
expressions
> - Fix formatting
> - Patch by Pierre Schweitzer
> - Fixes everything
Could you add a test for this to one of our (Winetest-compatible)
kernel-mode testing frameworks, so that nobody breaks this again?
I know that we haven't decided on a radical test-based development
approach yet, but it would certainly be helpful to avoid long trunk
locks in the future.
Cheers,
Colin
Hi,
trunk is locked due to reaching critical level of regressions again.
Currently the following people have write access:
tkreuzer, sir_richard, fireball.
If you would like to be on bugfix-committers team, please drop me a
line.
WBR,
Aleksey Bragin.
fireball(a)svn.reactos.org schrieb:
> - Fix incorrect function definitions. To be submitted upstream.
>
>
I remember just recently joking about all our "Needs to be ...",
"Someone should ...", "Please someone ..." commit messages, which
usually mean "I'm too lazy to ..." and result in things never being done ;-)
Timo
Hi!
2010/7/30 Jérôme Gardou <jerome.gardou(a)laposte.net>:
> That's why I began to revert all of this stuff, which is horrible :-)
> Regards.
> Jérôme.
>
Oh! That is great news! Good work!
James
Hi all,
After ongoing sudden crashes on our third server Rose (currently only
serving the BuildBot and primary DNS), I highly suspect a hardware failure.
This is why I'll let the hosting provider conduct a hardware stress test
tomorrow and eventually replace broken parts.
So don't be surprised if these services are down tomorrow.
I'll do my best to get them up reliably again as soon as possible.
Cheers,
Colin
Opensource World Conference (Malaga, 2010), is accepting papers for the meeting that is going to take place on 27/28 October.
"The Open Source World Conference (OSWC) is probably the most important European event related to open source technologies.
Following six editions of this conference organized by the regional governments of Andalusia and Extremadura in collaboration with the most important companies in the sector, this conference has become a unique event open to everyone interested in the field of software innovation, from users, social agents and developers, through to business leaders, investors and members of public administrations."
Andalusia and Extremadura governments are pushing quite hard toward the Opensource administration.They are working together to use just Opensource apps and OSes in their Universities and Administrations. Actually they have created some Opensource OSes as Guadalinex(a Linux distro) and some opensource organizations to push and support opensource ideas. In this conference companies and investors will meet, so maybe we can find some kind of Companies or Government support.
Projects, this year, will be elected by votes. Other projects are pushing quite hard.
So as this is not another OpenSource meeting but THE OpenSource meeting, I want you to push and vote. We made in Sourceforge Awards and we can do it again.
Creating an user takes less than 1 minute: http://www.opensourceworldconference.com/malaga10/?q=en/user/register
Vote "5-star" in this page(after Login): http://www.opensourceworldconference.com/malaga10/?q=node/953
I promise to make my best PR to find in this meeting any ReactOS opportunity.
If there is any, I will find it. :)
_________________________________________________________________
Accede a tu Hotmail en un solo clic ¡Descárgate Internet Explorer 8 y empieza a disfrutar de todas las ventajas!
http://www.ayudartepodria.com/
Hello,
A recent CMAKE commit has made me notice that a NOSWPAT option determines if FreeType hinting should be used or not. Please note that the Apple patent on the technology recently expired, and this option is not needed anymore, as hinting should always be enabled.
-r
Hi,
I'd like to announce that as of r48278, you can build a full x64 bootcd
(including rostests, not rosapps) from trunk.
That means from now on, I can quickly see when someone breaks 64 bit
compatibility: http://reactos.ath.cx:8081/waterfall
So please don't cast PVOID to ULONG ;-)
Regards,
Timo
PS: no, it doesn't boot to desktop
Hi
I'd like to propose a small change: converting freeldr into a PE file.
The current freeldr / setupldr are raw binaries, which makes them easy
to handle for the bootsector but it disqualifies them from proper
debugging with gdb. A solution is to convert them into PE format. As
there is no space to implement a real PE loader in the bootsector, the
image must not use a .bss section, this can easily be done with a linker
script.
I have this working in my WC.
With the result we can use gdb for debugging freeldr including symbols.
The only thing still to solve is how to remove rsym data from the files,
without stripping all symbols. Rsym data makes the file twice as big,
too big to be loaded in to real mode memory.
Any objections / suggestions?
Regards,
Timo
Hi all,
im visiting the compatibility database page frequently, and im still seeing
people testing applications against 0.3.1 ....
0.3.11 is too old currently, there have been tons of bugfixes, new features,
and overall changes that affect many applications since 0.3.11 release. Lots
of them have changed their behavior into ReactOS since those changes.
What i want to say is, compatibility with 0.3.11 is quite meaningful right
now, due to massive changes in ReactOS lately. Lets use HEAD revisions to
test new apps, and report bugs against it :)
cheers!
Jérôme,
Need to go through your commit list and check and see which ones need
to be pushed to the trunk. So far as I see (read), the changes look
good.
Thanks,
James
After Olaf's mentioning of increased buildtimes I'd like to throw 2
different, independent and major changes to our build process into
discussion. One is about rbuild and one is about the file layout. I'd
like to start with the rbuild related topic.
What I suggest only for consideration, is a move away from rbuild and
instead using CMake.
CMake is available for Windows and *nix, for Windows both as commandline
ans as a lightweight gui tool.
It is capable of translating a portable buildfile format into different
makefile formats, including nmake and project files for VS and
CodeBlocks. It seems incredibly fast compared to rbuild and probably
provides every feature we ever need. Although the syntax is a tiny bit
more complex than rbuild files, it's much better than writing makefiles.
Adding support for building with MSVC should be relatively easy. It's
not really a suggestion, as I'm not sure about all the details, but I
think it's worth reviewing and taking into consideration.
The second thing is about the file layout. I will post a seperate mail soon.
Regards,
Timo
Hi!
I want to remove the "autoregister" feature from rbuild. Let me explain
why I want to do this.
The "autoregister" feature in rbuild is used to automatically add dlls
to the syssetup.inf file which require an ole server registration. The
ole servers in these dlls will then be registered in the 2nd setup stage.
The gain of adding the ole server dlls to syssetup.inf automatically is
almost non existant as a developer needs to add an 'autoregister'
element to the rbuild file of the dll.
For example:
<autoregister infsection="OleControlDlls" type="DllInstall" />
The corresponding line in the 'OleControlsDll' section of syssetup.inf is:
11,,comctl32.dll,2
Please remember that the line above only needs to be added once.
Now, what do we loose by generating syssetup.inf automatically? Right
now it is only the comments in this file as it is parsed and serialized
by the inflib library.
OTOH, my future plans for syssetup.inf are severely hampered by the way
rbuild handles syssetup.inf because rbuild is not able to create or
modify a Unicode version of syssetup.inf. But, a Unicode version of
syssetup.inf is required in order to replace the hard-coded creation of
the start menu and desktop links in syssetup.dll by a configurable,
localizable and Windows compatible inf-based method.
And finally since Timo suggested to replace rbuild by cmake: The
autoregister feature would surely be one of the victims of this change.
So why not drop this almost useless feature now?
What do you think?
Regards,
Eric
Recently, I've been watching MiLoadImageSection(). It takes PVOID casted
to ROS_SECTION_OBJECT parameter. Why is that?
Furthermore, it isn't really a same definition as on MS Windows (XP).
Why You've made this difference?
--
Pozdrawiam,
Mariusz Gliwiński
Not again.
Why on earth do we need a bluetooth driver when we don't even have a stable
OS to run it on?
On 12 June 2010 13:46, Aleksey Bragin <aleksey(a)reactos.org> wrote:
> Even though it's abandoned, I feel it's going to be abandoned in our source
> tree too.
>
> WBR,
> Aleksey Bragin.
>
>
> On Jun 12, 2010, at 4:29 AM, cgutman(a)svn.reactos.org wrote:
>
> Author: cgutman
>> Date: Sat Jun 12 00:29:09 2010
>> New Revision: 47761
>>
>> URL: http://svn.reactos.org/svn/reactos?rev=47761&view=rev
>> Log:
>> [FBTUSB]
>> - Import the FreeBT USB generic bluetooth driver (abandoned)
>> - Some slight modifications to make it build
>> - WMI is currently commented out because our WMI headers are lacking
>> (particularly wmistr.h)
>> - Not building by default for now
>>
>
>
> _______________________________________________
> Ros-dev mailing list
> Ros-dev(a)reactos.org
> http://www.reactos.org/mailman/listinfo/ros-dev
>
Even though it's abandoned, I feel it's going to be abandoned in our
source tree too.
WBR,
Aleksey Bragin.
On Jun 12, 2010, at 4:29 AM, cgutman(a)svn.reactos.org wrote:
> Author: cgutman
> Date: Sat Jun 12 00:29:09 2010
> New Revision: 47761
>
> URL: http://svn.reactos.org/svn/reactos?rev=47761&view=rev
> Log:
> [FBTUSB]
> - Import the FreeBT USB generic bluetooth driver (abandoned)
> - Some slight modifications to make it build
> - WMI is currently commented out because our WMI headers are
> lacking (particularly wmistr.h)
> - Not building by default for now
On 12 June 2010 01:29, <cgutman(a)svn.reactos.org> wrote:
>
> - WMI is currently commented out because our WMI headers are lacking
> (particularly wmistr.h
>
WMI is completely missing from reactos in every way
I beg my pardon, I accidentally pasted wrong name there. The real
thanks goes to Maarten Kroese (nickname Drazic in the Freenode network).
WBR,
Aleksey Bragin.
On Jun 12, 2010, at 12:19 AM, fireball(a)svn.reactos.org wrote:
> Author: fireball
> Date: Fri Jun 11 20:18:59 2010
> New Revision: 47757
>
> URL: http://svn.reactos.org/svn/reactos?rev=47757&view=rev
> Log:
> - Merge in changes from Wine-1.1.44 related to supporting the
> ETO_PDY flag. Unregresses the text rendering in FF 3.5. Thanks to
> Jan Roeloffzen for help finding this problem and suggesting the
> right solution.
>
> Modified:
> branches/arwinss/reactos/dll/win32/winent.drv/font.c
> branches/arwinss/reactos/subsystems/win32/win32k/gre/font.c
Hi Ian,
Your help would be very much welcome and appreciated.
You've actually come at a very good time. Our whole backend, known as RosCMS
has just been rewritten and is now at version 4. It's a content management
system similar to Joomla, but written to better serve the needs of this
project.
Whilst the backend is now running and stable, the frontend needs a complete
rewrite. We had a design contest a few months ago and this was the winning
design : http://img200.imageshack.us/img200/7833/reactoswebsitedesign4.png
So far no one has had the time to make a start on it, so we're still running
on the now outdated site. What we need is for someone to get involved in
bringing this new layout to life.
It's probably best if you join the IRC channel and chat to our web designer.
He's called Danny and he goes by the nick of DangerGround in IRC. He should
be able to give you more info and guidance on what is required.
I'm posting this mail to the ros-dev mailing list so he and our other web
guys can pick it up.
You can continue to converse with me via private mail if you prefer to.
Regards,
Ged Murphy.
From: Ian Hilton [mailto:ian7hilton@gmail.com]
Sent: 04 June 2010 02:13
To: dev-interest(a)reactos.org
Subject: I have a lot of Questions
Hi My name is Ian Joseph Hilton I am a freshman in community college.
I consider myself a website developer of sorts in training, and for the past
year or so been familiarizing myself with website coding. I have been mostly
using Google based programs as my platform, and have so far just barely
stuck my toe in the water in attempting to write extensions for Google's
chrome browser. My main project is what I call Titanways Teaching (or
Tutoring) In Terrific And New ways and was my High school Exhibition project
required by the state of California to graduate, and it has got moderate
attention. the link is here : http://sites.google.com/site/titanwayssite/
I know what you must be thinking by now most likely that I have lack of
what you need and as my Uncle who currently writes programs for Medical
Equipment says I need at least two years or so to be taken seriously and not
laughed, but it never hurts to ask some things and worst comes to worse I
learn some things to point me in new directions which is always great.
Anyway I of course have been aware of your ReactOS project for a few
years and only recently has it occurred to me that I should inquire
somethings regarding it. Note I have not been "Tainted" at all as whatever
you are talking about with Microsoft's source code totally goes over my
head. I do use XP as my operating system However on a Toshiba NB 305
net-book. This is because a lot of my programs I am satisfied with run on
this operating system. My point to that is my net-book has further taught me
terms like debugging as not every program will run on it without a little
help by doing various things like editing a config file to fit its 1024x600
resolution frame. I has also used Linux Ubuntu and am familiar with
Macintosh interface via that is the main platform students use at general
educational institutions.
Now to get right to the point, right now I might not know much but if
there is anyway in the future that I may offer assistance in any form I
would be happy to, and also any helpful training or guidance you can point
me in in regards to coding website components for ReactOS would be even
better. I use mostly opensource alternatives to windows programs anyway such
as Open Office.org as I kinda share that feeling with you that Microsoft
kinda took a monopolistic view to its commercial applications.
I wish to ask how compatible is it currently with opensource apps
that run on Java platforms if it is integrated with as well as the web
browsers that it is compatible with? I have been familiarizing myself with
all three of the basic website rendering engines Trident, Gecko, and Web-kit
via the experimental triple engine browser being developed by a Japanese
software Company and is known as Lunascape. I also want to know if this OS
can support docking software such as Object dock or Rocket-dock and if not
what would I say need to do to learn how to make that kind of thing a
possibility. I will conclude by saying once again right now you may view me
as inexperienced but that I am quickly learning and any pointers I take
gratefully and with interest in consideration.
High Regards to you, Ian
P.S. will be taking Computer Classes in future semesters however it is my
opinion that the best in the field should try to learn from scratch ,and so
I am going to start by attempting to teach myself to write programs in C/C++
coding and see where that leads
Hello,
First I was asked if a certain developer could talk to me regarding ARM3. I said yes, never heard back, and then saw commits done to pfnlist.c. While interesting and useful code, some communication would've been nice in order to talk about the goals, since much of that code is in flux (I feel bad when someone improves a function that I will later remove, as two of the improved functions are only temporary -- the changes to the other functions will remain, obviously). Normally, this would not have been a problem, if not for the strange formatting and the fact this code was now broken and causing a boot regression.
I showed up in the #reactos-dev channel and instructed developers on how to fix the problem: remove the entire function and use MiInsertPageInFreeList instead, or fix MiInitializePagingLists to perform its work at DISPATCH_LEVEL instead, by acquiring the PFN lock as it should do.
None of this was done, instead "janderwald", in 47514, "Fixed" the ASSERT by saying "Any IRQL lower than DISPATCH_LEVEL" is okay. Janderwald, whoever you are, do you even understand this code? Are you even a kernel-mode developer? Does it make to you that the code would need to assert for low IRQL? The whole point is to validate that the PFN lock is being held. Even if you are not a kernel-mode dev, isn't it clear that all the other assertions are also checking for DISPATCH_LEVEL+?
And even if that's not clear, I had written down the solution in the #reactos-dev channel, expecting that probably not many people would figure it out.
So I guess some lessons to learn for this project:
1) If you modify someone's code, make sure you test your changes (and preferably don't mess up the formatting) so their code is not now blamed for a boot regression.
2) If someone tells you how to fix their code after it's been messed up, apply the fix.
3) If you choose to roll your own fix, write something useful instead of breaking the function (logic-wise) even more.
Again, I'm afraid the problem is most of you are students and don't have work ethics of real employees -- this seems to be the root of many problems this project has had since the last 2 years I've been watching and working on the ARM port.
Next steps:
- Janderwald: remove your ASSERT hack. Either 1) Remove the ASSERT (stop checking for an invariant that doesn't happen) or 2) Fix the caller (so the invariant holds)
- Arthur: changes are appreciated, but let's talk more so you don't end up improving dead code.
Carry on!
-r
hello,
i have thinking about an easy way to show people the ReactOS roadmap, and
there came to my mind two projects where i have submitted some bug reports
before joining ReactOS. They use the "milestone" field in their bug reports
for the roadmaps, and its a quite clean way to show it, IMO
Here are the links
Is there any way to do something similar using Bugzilla? (none of these 2
projects use this Bug Management System)
http://www.kdenlive.org/mantis/roadmap_page.phphttp://developer.pidgin.im/roadmap
Since arty's commit in rev 47510, one of his asserts is being triggered in
bot qemu and vbox. This practically lock down both testbots as they cannot
cont it. I have two requests:
- Could you all refrain from commiting until this problem is resolved?
- If this issue is not to be fixed soon enough, can this particular assert
be commented out for the time being?
Debug log below:
WARNING: HalStopProfileInterrupt at hal\halx86\generic\profil.c:24 is
UNIMPLEMENTED!
Assertion 'KeGetCurrentIrql() == DISPATCH_LEVEL' failed at
ARMÂł::PFNLIST line 61
Entered debugger on embedded INT3 at 0x0008:0x808e9b7e.
kdb:> bt
Eip:
<808e9b7f (DbgBreakPoint)>
Frames:
<8089840f (ARM┬│::PFNLIST:61 (MiInsertInListTail@8))>
<808a26cd (ntoskrnl/mm/freelist.c:499 (MmInitializePageList@0))>
<8089088b (ARM┬│::INIT:X86:521 (MiInitMachineDependent@4))>
<80896a61 (ARM┬│::INIT:1846 (MmArmInitSystem@8))>
<808a51f7 (ntoskrnl/mm/mminit.c:388 (MmInitSystem@8))>
<8084404b (ntoskrnl/ex/init.c:1008 (ExpInitializeExecutive@8))>
<8080450b (ntoskrnl/ke/i386/kiinit.c:564 (KiInitializeKernel@24))>
<8080467e (ntoskrnl/include//internal/arch/../i386/ke.h:235
(KiSystemStartupBootStack@0))>
<0000000e>
Entered debugger on last-chance exception (Exception Code: 0xc0000005) (Page
Fault)
Memory at 0x0007767C could not be read: Page not present.
*** Fatal System Error: 0x0000001e
(0xC0000005,0x80877985,0x80967DC0,0x00000000)
Entered debugger on embedded INT3 at 0x0008:0x808e9b84.
janderwald(a)svn.reactos.org wrote:
> + DeviceObject->Flags &= ~DO_DEVICE_INITIALIZING;
This is done by the IO manager for any device objects created in DriverEntry
If it's not then we have a bug, but I'm fairly sure it does otherwise we wouldn't be able to open devices from umode :)
Ged.
Hello!
While the state of the original code is horrendous, and removing it was a step in the good direction, this simplified implementation omits many of the optimizations and specific VGA tricks that the original "author" of the code had intended to duplicate.
If you'd like, I would be open to talking to eVb (we both have some experience with VGA programming) to create an efficient 4BitBlt routine similar to the original one that has been removed, but one that actually has basis in actual fact and isn't of the nature this original implementation was.
I can see the original code was converting packed data into per-plane (planar) data and had special edge handling, but it looks like the original author did not realize this, and most of the modulo-and-shifts appear as bitwise ANDs (compiler optimizations), which is just plain confusing.
Since the rest of bootvid is probably the same "quality", we could take a good look at it, both from a coding and legal standpoint, if you'd like.
-r
Author: gschneider
Date: Sun May 30 01:54:47 2010
New Revision: 47431
URL: http://svn.reactos.org/svn/reactos?rev=47431&view=rev
Log:
[BOOTVID] Dramatically simplify 4bpp blitting routine
See issue #5103 for more details.
Modified:
trunk/reactos/drivers/base/bootvid/i386/vga.c
Modified: trunk/reactos/drivers/base/bootvid/i386/vga.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/base/bootvid/i386/…
==============================================================================
--- trunk/reactos/drivers/base/bootvid/i386/vga.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/base/bootvid/i386/vga.c [iso-8859-1] Sun May 30 01:54:47 2010
@@ -402,33 +402,20 @@
IN ULONG BitsPerPixel,
IN ULONG Delta)
{
- ULONG LeftAnd, LeftShifted, LeftPlusOne, LeftPos;
- ULONG lMask, rMask;
- UCHAR NotlMask;
- ULONG Distance;
- ULONG DistanceMinusLeftBpp;
- ULONG SomeYesNoFlag, SomeYesNoFlag2;
- PUCHAR PixelPosition, m;
- PUCHAR i, k;
- ULONG j;
- ULONG x;
- ULONG Plane;
- UCHAR LeftArray[84];
- PUCHAR CurrentLeft;
- PUCHAR l;
- ULONG LoopCount;
- UCHAR pMask, PlaneShift;
- BOOLEAN Odd;
- UCHAR Value;
+ ULONG sx, dx, dy;
+ UCHAR color;
+ ULONG offset = 0;
+ const ULONG Bottom = Top + Height;
+ const ULONG Right = Left + Width;
/* Check if the buffer isn't 4bpp */
if (BitsPerPixel != 4)
{
/* FIXME: TODO */
DbgPrint("Unhandled BitBlt\n"
- "%lxx%lx @ (%lx,%lx)\n"
- "Bits Per Pixel %lx\n"
- "Buffer: %p. Delta: %lx\n",
+ "%lux%lu @ (%lu|%lu)\n"
+ "Bits Per Pixel %lu\n"
+ "Buffer: %p. Delta: %lu\n",
Width,
Height,
Left,
@@ -439,181 +426,28 @@
return;
}
- /* Get the masks and other values */
- LeftAnd = Left & 0x7;
- lMask = lMaskTable[LeftAnd];
- Distance = Width + Left;
- rMask = rMaskTable[(Distance - 1) & 0x7];
- Left >>= 3;
-
- /* Set some values */
- SomeYesNoFlag = FALSE;
- SomeYesNoFlag2 = FALSE;
- Distance = (Distance - 1) >> 3;
- DistanceMinusLeftBpp = Distance - Left;
-
- /* Check if the distance is equal to the left position and add the masks */
- if (Left == Distance) lMask += rMask;
-
- /* Check if there's no distance offset */
- if (DistanceMinusLeftBpp)
- {
- /* Set the first flag on */
- SomeYesNoFlag = TRUE;
-
- /* Decrease offset and check if we still have one */
- if (--DistanceMinusLeftBpp)
- {
- /* Still have a distance offset */
- SomeYesNoFlag2 = TRUE;
- }
- }
-
- /* Calculate initial pixel position */
- PixelPosition = (PUCHAR)VgaBase + (Top * 80) + Left;
-
- /* Set loop buffer variable */
- i = Buffer;
-
- /* Switch to mode 0 */
- ReadWriteMode(0);
-
- /* Leave now if the height is 0 */
- if (Height <= 0) return;
-
- /* Set more weird values */
- CurrentLeft = &LeftArray[Left];
- NotlMask = ~(UCHAR)lMask;
- LeftPlusOne = Left + 1;
- LeftShifted = (lMask << 8) | 8;
- j = Height;
-
- /* Start the height loop */
+ /* 4bpp blitting */
+ dy = Top;
do
{
- /* Start the plane loop */
- Plane = 0;
+ sx = 0;
do
{
- /* Clear the current value */
- *CurrentLeft = 0;
- LoopCount = 0;
-
- /* Set the buffer loop variable for this loop */
- k = i;
-
- /* Calculate plane shift and pixel mask */
- PlaneShift = 1 << Plane;
- pMask = PixelMask[LeftAnd];
-
- /* Check if we have a width */
- if (Width > 0)
- {
- /* Loop it */
- l = CurrentLeft;
- x = Width;
- do
- {
- /* Check if we're odd and increase the loop count */
- Odd = LoopCount & 1 ? TRUE : FALSE;
- LoopCount++;
- if (Odd)
- {
- /* Check for the plane shift */
- if (*k & PlaneShift)
- {
- /* Write the pixel mask */
- *l |= pMask;
- }
-
- /* Increase buffer position */
- k++;
- }
- else
- {
- /* Check for plane shift */
- if ((*k >> 4) & PlaneShift)
- {
- /* Write the pixel mask */
- *l |= pMask;
- }
- }
-
- /* Shift the pixel mask */
- pMask >>= 1;
- if (!pMask)
- {
- /* Move to the next current left position and clear it */
- l++;
- *l = 0;
-
- /* Set the pixel mask to 0x80 */
- pMask = 0x80;
- }
- } while (--x);
- }
-
- /* Set the plane value */
- __outpw(0x3C4, (1 << (Plane + 8) | 2));
-
- /* Select the bitmask register and write the mask */
- __outpw(0x3CE, (USHORT)LeftShifted);
-
- /* Read the current Pixel value */
- Value = READ_REGISTER_UCHAR(PixelPosition);
-
- /* Add our mask */
- Value = (Value & NotlMask) | *CurrentLeft;
-
- /* Set current left for the loop, and write new pixel value */
- LeftPos = LeftPlusOne;
- WRITE_REGISTER_UCHAR(PixelPosition, Value);
-
- /* Set loop pixel position and check if we should loop */
- m = PixelPosition + 1;
- if (SomeYesNoFlag2)
- {
- /* Set the bitmask to 0xFF for all 4 planes */
- __outpw(0x3CE, 0xFF08);
-
- /* Check if we have any distance left */
- if (DistanceMinusLeftBpp > 0)
- {
- /* Start looping it */
- x = DistanceMinusLeftBpp;
- do
- {
- /* Write the value */
- WRITE_REGISTER_UCHAR(m, LeftArray[LeftPos]);
-
- /* Go to the next position */
- m++;
- LeftPos++;
- } while (--x);
- }
- }
-
- /* Check if the first flag is on */
- if (SomeYesNoFlag)
- {
- /* Set the mask value */
- __outpw(0x3CE, (rMask << 8) | 8);
-
- /* Read the current Pixel value */
- Value = READ_REGISTER_UCHAR(m);
-
- /* Add our mask */
- Value = (Value & ~(UCHAR)rMask) | LeftArray[LeftPos];
-
- /* Set current left for the loop, and write new pixel value */
- WRITE_REGISTER_UCHAR(m, Value);
- }
- } while (++Plane < 4);
-
- /* Update pixel position, buffer and height */
- PixelPosition += 80;
- i += Delta;
- } while (--j);
+ /* Extract color */
+ color = Buffer[offset + sx];
+
+ /* Calc destination x */
+ dx = Left + (sx << 1);
+
+ /* Set two pixels */
+ SetPixel(dx, dy, color >> 4);
+ SetPixel(dx + 1, dy, color & 0x0F);
+
+ sx++;
+ } while (dx < Right);
+ offset += Delta;
+ dy++;
+ } while (dy < Bottom);
}
VOID
Hi!
It is really funny to see that translators don't seem to understand the
simple meaning of:
/*
* Attention Translators:
* DO NOT TRANSLATE THESE RESOURCES YET!
*/
It means: DO NOT TRANSLATE THESE RESOURCES YET!!!!!!! Got it???
Yes, but why?
Because usrmgr is not finished yet from a programmers point of view.
Most of the underlying infrastructure ist entirely missing. Right now,
usrmgr is completely useless and its look and feel might change without
prior notice.
So please don't waste your precious time by adding more translations!
Please translate other missing texts instead, but leave usrmgr alone. At
least as long as the little note at the top is still in place.
Thank you very much for your attention!
Regards,
Eric
Hi all,
I am new to this mail group and have a question that probably needs
your kind of technical knowledge to answer. I want to use reactos,
however, up to its completion, can I use some libraries on windows to
replace them? In example, wine libraries can be superseded by original
windows libraries if you own them. I want to make the inverse of this
simply for security reasons to use a kernel fully opensource and which
have a documented api. So can I use ntkrnlos.exe and hal.dll or
similar in original windows installations to replace propriety kernel
and libraries for security reasons? If yes, which of them should I
use, and are they complete to replace them?
Also a second question may arise as "the priority of reactos
development can be focused on firstly these parts of the project or
not?"...
Best Regards...
Ahmet Alper Parker
Hi!
That is for bAnsi:1 to set if ansi. Good job over all!
James
On Sat, May 22, 2010 at 7:07 AM, Timo Kreuzer <timo.kreuzer(a)web.de> wrote:
> Aleksey Bragin wrote:
>> Shouldn't the LARGE_UNICODE_STRING be used there instead?
>>
> On Windows the window name is ANSI for an ANSI caller and UNICODE for a
> UNICODE caller.
> The class name is always in UNICODE though.
>
> See also http://www.reactos.org/wiki/Techwiki:Win32k/LARGE_UNICODE_STRING
>
PS: Still on sick leave.
cgutman(a)svn.reactos.org wrote:
> + DbgPrint("%S: %d test executed (0 marked as todo, %d failures),
> %d skipped.\n", TestName, total, failures, skipped);
Nice! Though testman won't parse this if you don't change "test" to
"tests" ;-)
Best regards,
Colin
Shouldn't the LARGE_UNICODE_STRING be used there instead?
WBR,
Aleksey.
On May 22, 2010, at 5:05 AM, tkreuzer(a)svn.reactos.org wrote:
> Author: tkreuzer
> Date: Sat May 22 03:05:31 2010
> New Revision: 47295
>
> URL: http://svn.reactos.org/svn/reactos?rev=47295&view=rev
> Log:
> [WIN32K / USER32]
> Convert the window text string from UNICODE_STRING to LARGE_STRING
> and fix NtUserCreateWindowEx parameters. We currently still pass
> UNICODE only LARGE_STRINGs, as the rest of the code in win32k
> expects this.
> Fixes display of large text windows, like the winzip license.
> See issue #2900 for more details.
>
> Modified:
> trunk/reactos/dll/win32/user32/windows/window.c
> trunk/reactos/include/reactos/win32k/ntuser.h
> trunk/reactos/subsystems/win32/win32k/include/window.h
> trunk/reactos/subsystems/win32/win32k/ntuser/desktop.c
> trunk/reactos/subsystems/win32/win32k/ntuser/message.c
> trunk/reactos/subsystems/win32/win32k/ntuser/painting.c
> trunk/reactos/subsystems/win32/win32k/ntuser/window.c
Hi Michael,
there is no need to hardcode the messagebox output language to english.
In the resource files a string exists for what you're doing:
IDS_FINISHEDFIND (probably already loaded into a string in the code
somewhere).
Thanks,
Gregor
"Jan Blomqvist Kinander" <jan.blomqvist(a)reactos.org> wrote:
> Opening many sessions in windows is really bad idea ... for kernel stuff and another csrss, smss problems ... terminal server blue screen, black screen, printers, etc ... so i have an idea for a workaround ...
>
> Is open a session using createwinstation api ... in that session, create multiples desktops, using createdesktop api, in each desktop will be secure shell replacement, ejecuted using x user credentials (runas) ... the printing is gonna be universal virtual printers that receive the buffer from the win32, and send the emf or pdf to the client ...
>
Hi Jan & Gonzalo,
I'm no expert in this particular area, but don't You think it would be
more logical
to give each remote a winstation, and not just a desktop on a shared
winstation ?
Best Regards
// Love
Hi Developers, I have been aproached by a certain Gonzalo from Colombia, he claims to be a developer who wants to make a Terminal Server Clone, I enclose the mail he sent me, please have a look at it and answer him.
Yours Sincerely,
Jaix Bly
>>>
Hey Jaix, i'm Gonzalo from Colombia (South America) tecnologia(a)slmsistemas.net
I'm a coder, i develop more than 500 utils and apps for terminal server and citrix .... i have a product called Galeon that is a "clon" of terminal server with shell replacement, full duplex sound, universal printer driver, etc ...
I want to develop a Open Source Terminal Server based in something like VNC and OpenVPN
Opening many sessions in windows is really bad idea ... for kernel stuff and another csrss, smss problems ... terminal server blue screen, black screen, printers, etc ... so i have an idea for a workaround ...
Is open a session using createwinstation api ... in that session, create multiples desktops, using createdesktop api, in each desktop will be secure shell replacement, ejecuted using x user credentials (runas) ... the printing is gonna be universal virtual printers that receive the buffer from the win32, and send the emf or pdf to the client ...
Using Virtual Channels is a pain in the ass ... because they all travel using only one tcp socket ... (really bad idea) so, problems with video, audio, performance, etc ...i think we can use openvpn to connect to only one port (443 to ssl vpn) and after the vpn is connected, we can open many socket (each service) between the client and the server desktop ... so we can send printing, sound, video, etc ...
I have many things already developed ... createwinstation, createdesktop, impersonate users, universal printer, openvpn implementation .. etc ... but i need help in other areas, like the video grabber in the desktop (maybe a modified vnc) i can make a printscreen of each desktop, and send the jpg ... and is working, but is a really bad idea ...
This product can merge with ReactOS .. and be the ReactOS terminal server ...
https://sourceforge.net/projects/oswts/
What do you think?
Do you receive this mail?
Thanks,
Gonzalo.
--
Cordialmente:
Ing. Gonzalo Araujo C
MCSE, MCSA, MCSD, ITIL, CISSP, C|EH, LPI
Desarrollo SLM Sistemas Ltda
desarrollo(a)slmsistemas.com
tecnologia(a)slmsistemas.net
http://www.slmsistemas.com
Colombia - Guatemala - Chile - Venezuela
<<<
Hello! I already have almost latest trunk build of ReactOS installed.
Now I want to try
modifying some sources, but recompiling whole system takes about 8 hours
on my
very slow PC. How can I recompile only modified part of the system?
I am using RosBE for Linux version 1.5.
Hello,
as you all know we have quite a lot of regressions recently, and
recently they only add up to one another causing annoyances of
testers and developers. There is a strong need to change this
situation as soon as possible, otherwise the project's future is
undetermined.
I want to propose a step-by-step approach. Our brave testing team has
created a good overview of the most important regressions and bugs we
have so far: http://www.reactos.org/wiki/Buglist .
Now, very important(!):
For the first step I would like ALL developers to drop their current
ReactOS-related work, including all work in branches or wherever else
and focus ONLY on fixing regressions from that list. The goal is to
fix all confirmed regressions that have been introduced, starting
from the most recent and going down to the most ancient. All possible
ways to remove a regression could be used: starting from a proper fix
and finishing with a total revert or commenting out even good code.
Process coordination: feel free to commit proper fixes right away,
however as for reverts, I, and/or comittee of our core devs, would
like to have a final say on whether something should be reverted.
I repeat, all other non-regression related commits to the official
ReactOS SVN repository are forbidden, even to branches. The only
exception may be developers whose access is restricted to branches
only.
Thank you for understanding,
Aleksey Bragin.
Gregor Schneider <grschneider(a)gmail.com> wrote:
> Concerning using an internal format: let's assume we got three 8bpp
> surfaces (source, destination, pattern), which are quite big pending
> for a raster operation. You would convert these three to another
> format like 32bpp, process them and convert back?
No, of course not, Gregor,
You're absolutely right about the 8bpp S/D/P situation.
It would be a terrible idea to convert such a simple format to another
for a tertiary rop.
I think I was thinking about an internal graphic structure for the
display context .. ;-)
Accumulate all rops to an 32bit DIB internally, unless the physical
device is low bpp.
Come to think of it, almost anything but RLE is suitable internally,
depending
on the output color requirements. The graphics primitives for lines,
ellipses, and
so on can be small enough to separate a few specialized implementations for
different bit depths. I guess that's what You do ? (I didn't look yet).
Branching for different bit formats in the primitives would be a bad
idea though..
Wouldn't You agree ?
Best Regards
// Love
PS. I have a slice-line routine that's faster than an oiled lightning,
and it's really
small enough that it'd be worth replicating the code for different bit
depths.
Let me know if you're interested.
Hi guys,
Sorry for barging in on a discussion about code that's not on my desk,
but looking at your code there is something I want to point out.
Graphics code need to be *fast*, that's a primary consideration,
so I'm taken aback when I look at your inner bit expansion loop.
This is horrible from a standpoint of performance.
> length = (*bits++) >> shift;
> if (length)
> {
> c = *bits++;
> while (length--)
> {
> if (x >= width) break;
> temp = UncompressedBits + (((height - y) * Delta) + x);
> x++;
> *temp = c;
> }
> }
You're recomputing the start of the bit-run for every pixel you emit,
when you should move that calculation out of the inner loop to get
high performance. Graphics code is not the arena where you can be lazy
and hope that the optimizer will make your inefficient code faster.
At the very least You ought to write it something like this:
> length = (*bits++) >> shift;
> if (length)
> {
> c = *bits++;
> if (x + length > width) {
> // RLE encoding error - Bit-run exceeds width
> length = width - x;
> }
> temp = UncompressedBits + ((height - y) * Delta);
> x += length; // precompute finishing x
> while (length--)
> {
> *temp++ = c;
> }
> }
As a sideline note I'd like to mention that it's standard practice
in graphics libraries to use one unified bitmap format internally
to make internal processing like alpha-blend or text rendering or
whatever straight forward. The 32bit DIB format is quite suitable,
even if it uses the most memory - Graphics never was cheap on memory.
Just my penny to the pot
Best Regards
// Love
Hello,
This is the second time that work that someone on the ARM Team has worked on has been mostly reverted without any communication with us, and incorrect changes have been added to parts of our work.
The Eng function worked on even clearly stated comments such as "Compressed surfaces don't have scanlines!", yet this new patch restores the old incorrect functionality.
lDelta cannot be anything but != 0 for compressed data such as RLE or JPG/PNG! And creating the DIB should not decompress the bits.
Please read http://www.tech-archive.net/Archive/Development/microsoft.public.developmen… for example.
I do not understand how you can believe that "RLE" has a scan-line. I am not a graphics expert by no means, but even I understand this fact: by definition scan-lines in an RLE are dynamic, and a scan-line offset table contains information about that.
You do not have to take my word for it, as a simple driver test case will also show that Windows does not decompress RLE data or set lDelta to any other value than 0 with an RLE bitmap. You can find more information on RLE at http://www.fileformat.info/mirror/egff/ch09_03.htm.
If you are wondering why there have not been any commits coming lately, recent actions such as these as the cause.
-r
Author: khornicek
Date: Sat May 8 20:09:45 2010
New Revision: 47134
URL: http://svn.reactos.org/svn/reactos?rev=47134&view=rev
Log:
[WIN32K]
- Bring back support for RLE compressed bitmaps.
- Merge the decompress functions for 4bb and 8bpp bitmaps to one generic function.
- Simplify SURFMEM_bCreateDib a bit by not allowing PNG/JPEG compression at all.
See issue #5276 for more details.
Modified:
trunk/reactos/subsystems/win32/win32k/eng/surface.c
Modified: trunk/reactos/subsystems/win32/win32k/eng/surface.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/en…
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/eng/surface.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/win32k/eng/surface.c [iso-8859-1] Sat May 8 20:09:45 2010
@@ -204,48 +204,59 @@
return NewBitmap;
}
-VOID Decompress4bpp(SIZEL Size, BYTE *CompressedBits, BYTE *UncompressedBits, LONG Delta)
-{
- int x = 0;
- int y = Size.cy - 1;
- int c;
- int length;
- int width = ((Size.cx+1)/2);
- int height = Size.cy - 1;
+BOOL DecompressBitmap(SIZEL Size, BYTE *CompressedBits, BYTE *UncompressedBits, LONG Delta, ULONG Format)
+{
+ INT x = 0;
+ INT y = Size.cy - 1;
+ INT c;
+ INT length;
+ INT width;
+ INT height = Size.cy - 1;
BYTE *begin = CompressedBits;
BYTE *bits = CompressedBits;
BYTE *temp;
- while (y >= 0)
- {
- length = *bits++ / 2;
- if (length)
- {
- c = *bits++;
- while (length--)
- {
- if (x >= width) break;
- temp = UncompressedBits + (((height - y) * Delta) + x);
- x++;
- *temp = c;
- }
- }
- else
- {
- length = *bits++;
- switch (length)
- {
+ INT shift = 0;
+
+ if (Format == BMF_4RLE)
+ shift = 1;
+ else if(Format != BMF_8RLE)
+ return FALSE;
+
+ width = ((Size.cx + shift) >> shift);
+
+ _SEH2_TRY
+ {
+ while (y >= 0)
+ {
+ length = (*bits++) >> shift;
+ if (length)
+ {
+ c = *bits++;
+ while (length--)
+ {
+ if (x >= width) break;
+ temp = UncompressedBits + (((height - y) * Delta) + x);
+ x++;
+ *temp = c;
+ }
+ }
+ else
+ {
+ length = *bits++;
+ switch (length)
+ {
case RLE_EOL:
x = 0;
y--;
break;
case RLE_END:
- return;
+ _SEH2_YIELD(return TRUE);
case RLE_DELTA:
- x += (*bits++)/2;
- y -= (*bits++)/2;
+ x += (*bits++) >> shift;
+ y -= (*bits++) >> shift;
break;
default:
- length /= 2;
+ length = length >> shift;
while (length--)
{
c = *bits++;
@@ -260,69 +271,18 @@
{
bits++;
}
- }
- }
- }
-}
-
-VOID Decompress8bpp(SIZEL Size, BYTE *CompressedBits, BYTE *UncompressedBits, LONG Delta)
-{
- int x = 0;
- int y = Size.cy - 1;
- int c;
- int length;
- int width = Size.cx;
- int height = Size.cy - 1;
- BYTE *begin = CompressedBits;
- BYTE *bits = CompressedBits;
- BYTE *temp;
- while (y >= 0)
- {
- length = *bits++;
- if (length)
- {
- c = *bits++;
- while (length--)
- {
- if (x >= width) break;
- temp = UncompressedBits + (((height - y) * Delta) + x);
- x++;
- *temp = c;
- }
- }
- else
- {
- length = *bits++;
- switch (length)
- {
- case RLE_EOL:
- x = 0;
- y--;
- break;
- case RLE_END:
- return;
- case RLE_DELTA:
- x += *bits++;
- y -= *bits++;
- break;
- default:
- while (length--)
- {
- c = *bits++;
- if (x < width)
- {
- temp = UncompressedBits + (((height - y) * Delta) + x);
- x++;
- *temp = c;
- }
- }
- if ((bits - begin) & 1)
- {
- bits++;
- }
- }
- }
- }
+ }
+ }
+ }
+ }
+ _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
+ {
+ DPRINT1("Decoding error\n");
+ _SEH2_YIELD(return FALSE);
+ }
+ _SEH2_END;
+
+ return TRUE;
}
HBITMAP FASTCALL
@@ -362,7 +322,7 @@
pso->cjBits = pso->lDelta * Size.cy;
UncompressedFormat = BMF_4BPP;
UncompressedBits = EngAllocMem(FL_ZERO_MEMORY, pso->cjBits, TAG_DIB);
- Decompress4bpp(Size, (BYTE *)Bits, (BYTE *)UncompressedBits, pso->lDelta);
+ DecompressBitmap(Size, (BYTE *)Bits, (BYTE *)UncompressedBits, pso->lDelta, Format);
}
else if (Format == BMF_8RLE)
{
@@ -370,7 +330,7 @@
pso->cjBits = pso->lDelta * Size.cy;
UncompressedFormat = BMF_8BPP;
UncompressedBits = EngAllocMem(FL_ZERO_MEMORY, pso->cjBits, TAG_DIB);
- Decompress8bpp(Size, (BYTE *)Bits, (BYTE *)UncompressedBits, pso->lDelta);
+ DecompressBitmap(Size, (BYTE *)Bits, (BYTE *)UncompressedBits, pso->lDelta, Format);
}
else
{
@@ -467,6 +427,7 @@
PSURFACE psurf;
SIZEL LocalSize;
BOOLEAN AllocatedLocally = FALSE;
+ PVOID DecompressedBits = NULL;
/*
* First, check the format so we can get the aligned scanline width.
@@ -500,17 +461,29 @@
break;
case BMF_8RLE:
+ ScanLine = (BitmapInfo->Width + 3) & ~3;
+ Compressed = TRUE;
+ break;
case BMF_4RLE:
+ ScanLine = ((BitmapInfo->Width + 7) & ~7) >> 1;
+ Compressed = TRUE;
+ break;
+
case BMF_JPEG:
case BMF_PNG:
- Compressed = TRUE;
- break;
+ ASSERT(FALSE); // ENGDDI shouldn't be creating PNGs for drivers ;-)
+ DPRINT1("No support for JPEG and PNG formats\n");
+ return NULL;
default:
DPRINT1("Invalid bitmap format\n");
return NULL;
}
+ /* Save local bitmap size */
+ LocalSize.cy = BitmapInfo->Height;
+ LocalSize.cx = BitmapInfo->Width;
+
/* Does the device manage its own surface? */
if (!Bits)
{
@@ -519,7 +492,8 @@
{
/* Note: we should not be seeing this scenario from ENGDDI */
ASSERT(FALSE);
- Size = BitmapInfo->Size;
+ DPRINT1("RLE compressed bitmap requested with no valid bitmap bits\n");
+ return NULL;
}
else
{
@@ -551,6 +525,22 @@
{
/* Should not have asked for user memory */
ASSERT((BitmapInfo->Flags & BMF_USERMEM) == 0);
+
+ if (Compressed)
+ {
+ DecompressedBits = EngAllocMem(FL_ZERO_MEMORY, BitmapInfo->Height * ScanLine, TAG_DIB);
+
+ if(!DecompressedBits)
+ return NULL;
+
+ if(!DecompressBitmap(LocalSize, (BYTE *)Bits, (BYTE *)DecompressedBits, ScanLine, BitmapInfo->Format))
+ {
+ EngFreeMem(DecompressedBits);
+ return NULL;
+ }
+
+ BitmapInfo->Format = (BitmapInfo->Format == BMF_4RLE) ? BMF_4BPP : BMF_8BPP;
+ }
}
/* Allocate the actual surface object structure */
@@ -564,6 +554,8 @@
else
EngFreeMem(Bits);
}
+ if (DecompressedBits)
+ EngFreeMem(DecompressedBits);
return NULL;
}
@@ -584,11 +576,9 @@
pso->fjBitmap = BitmapInfo->Flags & (BMF_TOPDOWN | BMF_UMPDMEM | BMF_USERMEM);
/* Save size and type */
- LocalSize.cy = BitmapInfo->Height;
- LocalSize.cx = BitmapInfo->Width;
pso->sizlBitmap = LocalSize;
pso->iType = STYPE_BITMAP;
-
+
/* Device-managed surface, no flags or dimension */
pso->dhsurf = 0;
pso->dhpdev = NULL;
@@ -599,48 +589,28 @@
psurf->hSecure = NULL;
psurf->hDIBSection = NULL;
psurf->flHooks = 0;
-
+
/* Set bits */
- pso->pvBits = Bits;
-
- /* Check for bitmap type */
- if (!Compressed)
- {
- /* Number of bits is based on the height times the scanline */
- pso->cjBits = BitmapInfo->Height * ScanLine;
- if (BitmapInfo->Flags & BMF_TOPDOWN)
- {
- /* For topdown, the base address starts with the bits */
- pso->pvScan0 = pso->pvBits;
- pso->lDelta = ScanLine;
- }
- else
- {
- /* Otherwise we start with the end and go up */
- pso->pvScan0 = (PVOID)((ULONG_PTR)pso->pvBits + pso->cjBits - ScanLine);
- pso->lDelta = -ScanLine;
- }
+ if(Compressed)
+ pso->pvBits = DecompressedBits;
+ else
+ pso->pvBits = Bits;
+
+ /* Number of bits is based on the height times the scanline */
+ pso->cjBits = BitmapInfo->Height * ScanLine;
+ if (BitmapInfo->Flags & BMF_TOPDOWN)
+ {
+ /* For topdown, the base address starts with the bits */
+ pso->pvScan0 = pso->pvBits;
+ pso->lDelta = ScanLine;
}
else
{
- /* Compressed surfaces don't have scanlines! */
- pso->lDelta = 0;
- pso->cjBits = BitmapInfo->Size;
-
- /* Check for JPG or PNG */
- if ((BitmapInfo->Format != BMF_JPEG) && (BitmapInfo->Format != BMF_PNG))
- {
- /* Wherever the bit data is */
- pso->pvScan0 = pso->pvBits;
- }
- else
- {
- /* Fancy formats don't use a base address */
- pso->pvScan0 = NULL;
- ASSERT(FALSE); // ENGDDI shouldn't be creating PNGs for drivers ;-)
- }
- }
-
+ /* Otherwise we start with the end and go up */
+ pso->pvScan0 = (PVOID)((ULONG_PTR)pso->pvBits + pso->cjBits - ScanLine);
+ pso->lDelta = -ScanLine;
+ }
+
/* Finally set the handle and uniq */
pso->hsurf = (HSURF)psurf->BaseObject.hHmgr;
pso->iUniq = 0;
Hello everybody,
We're currently in the process of moving a main server (Buildmaster,
ISO-Storage, etc.) to another location and doing upgrades on the other
servers.
As always, we try to keep the downtime low, but expect short outages in
the next few days.
You'll be notified when the move is over or if there are any major problems.
Best regards,
Colin
ekohl(a)svn.reactos.org wrote:
> PWSTR utf16_wcschr(PWSTR str, WCHAR c)
> +{
> + SIZE_T i;
> +
> + for(i = 0; str[i] && str[i] != c; i++);
> +
> + if(str[i])
> + return &str[i];
> + else
> + return NULL;
> +}
> +
> +PWSTR strchrW(PWSTR str, WCHAR c)
Why do you duplicate the same code for these wide-char string functions
here, just under a different name?
The utf16_* family of functions in this file was particularly designed to
address the issue of different wchar_t lengths on different hosts. It's
meant to be used together with the include/host/wcsfuncs.h header.
If you need an example, cmlib is one library using these functions (see
e.g. "cmlib.h" for the proper header inclusion, "cminit.c" for a use, etc.)
Best regards,
Colin
Hey guys,
Recently<http://source.winehq.org/git/wine.git/?a=history;f=dlls/msvcrt;hb=1ac163316…>wine
has made some improvements to its msvcrt and I've taken the time to
port them to reactos. changes include:
- implement per thread crt locales and many locale functions.
- implement/improve support for vc6, vc7, vc8 exceptions.
- implement/improve language support functions.
- implement/improve many library functions.
- implement many secure functions.
- use spec file for msvcrt.dll
- fix amd64 linking issues.
- add msvcirt.dll, msvcr7.dll ,msvc71.dll, msvc80.dll, msvcr90.dll from
wine (no longer need to install versions of ms runtime for visual c language
apps)
changes are divided into different parts but building has not been tested
with individual parts.
part 1, 2 and 3 include changes to centralize the definition of several key
macros (see reactos/wine/exception.h, reactos/wine/config.h,
crt/include/internal/wine/cppexcept.h)
also on part 2 in scanf.c wcs.c and possibly other files i didn't know what
libcntpr expected so i was quite severe hacking out functions and only
letting in the minimum necesary to build ntoskrnl and everything else that
uses it.
part3 includes changes to baseaddress.rbuild that should be revised, i
didn't know how to calculate a good base address for the msvcr dlls so i
just used the same one and let ntdll reallocate if necesary...
part5 applies to rostests.
and before you say it... msvcrt_winetest file now crashes with this trace:
dll/win32/kernel32/file/create.c:136 (CreateFileW@28) <-- arch didn't check
if lpFileName was valid
lib/sdk/crt/stdio/file.c:1485 (_wsopen)
modules/rostests/winetests/msvcrt/file.c:1179 (test_fopen_fclose_fcloseall)
ros-dev-request(a)reactos.org wrote:
>>> Look at this as a signal warning before the ship hits the reef.......
>>> The ship has turn into the reef!
>>>
>> No need to give false signals here, they often lead to loss of investment
>> (example from stock trading area).
>>
> Trying to make money from ReactOS is a bad idea and thinking about
> money from ReactOS, makes this idea delusional.
>
Sorry for barging into Your discussion guys,
but I think Aleksey meant that allegorically, not literally ??
Best Regards
Love
Michael!
Good work!!!!
Do you think this might be one of the reasons we are reentering
co_UserDestroyWindow? The DCE is cleared and (not cached) at first
then we go back a second time and hit the assert...?
http://www.reactos.org/bugzilla/show_bug.cgi?id=5320
Hey,
This one's mostly for Eric Kohl.
Newinflib seems to be causing some issues for usetup, accessing memory it
shouldn't.
Attached are some patches that solve this.
The newinflib one fixes some pointer arithmetic, which ended up lying about
a buffer size.
This was already fixed in the host code, so I just applied the same fix to
the ros code.
The usetup patch is a hackfix. The issue here is that usetup fetches a line
from a section,
but the line is blank. Usetup treats it as a data line, and reading the data
from it results
in NULL .. which usetup tries to dereference.
I just hackfixed that one because the code hasn't changed, so it must've
worked fine with
the previous inflib. So the question end up as: is newinflib wrong here by
not trying to skip
the blank line, or should usetup keep in mind such lines can exist.. or some
third option?
WBR,
Roel Messiant
PS: I know patches belong in bugzilla, but the perceived urgency on my side
won the decision on where to post them.
Hi!
In order to fix bug #2482 I needed to make inflib Unicode-aware. My
local ReactOS setup is curently able to build Boot-CD and Live-CD using
Unicode hive*.inf files.
Rbuild is the only tool that still uses the original inflib. Could
someone who knows more about C++ and STL than I do have a look at rbuild
and make it work with the new inflib?
I can provide a patch that includes newinflib (Unicode-aware inflib) and
my changes to usetup and mkhive.
I also need someone who can test the whole patch on a *nix machine. Any
volunters?
Regards,
Eric
Hi!
Could someone who is building ReactOS on a Linuy system have a look at
why mkhive fails when Live-CD is built? Unfortunately I don't have a
Linux system for testing.
Thanks in advance!
Eric
This bug is a lot older than that, I can't remember thread list ever not being crash-prone.
From 0.3.11 livecd:
←[7h♣Entered debugger on embedded INT3 at 0x0008:0x808c6fb6.
kdb:> proc list
PID State Filename
*0x00000004 In Memory System
0x00000044 In Memory smss.exe
0x0000007c In Memory csrss.exe
0x000000a0 In Memory winlogon.exe
0x000000bc In Memory services.exe
0x000000c4 In Memory lsass.exe
0x000000f0 In Memory eventlog.exe
0x0000010c In Memory spoolsv.exe
0x00000120 In Memory dhcp.exe
0x0000013c In Memory rpcss.exe
0x00000180 In Memory umpnpmgr.exe
0x00000290 In Memory explorer.exe
kdb:> proc attach 0xa0
Attached to process 0x000000a0, thread 0x000000a4.
kdb:> thread list
TID State Prior. Affinity EBP EIP
*0x000000a4 Waiting 8 0x00000001 0x0063fecc 0x7c90697a
Assertion 'TempPte.u.Long != 0' failed at ARM┬│::PAGFAULT line 161
Entered debugger on embedded INT3 at 0x0008:0x808c6fb6.
*** Fatal System Error: 0x0000001e
(0x80000003,0x808C6FB6,0x80957048,0x00000000)
Entered debugger on embedded INT3 at 0x0008:0x808c6fbc.
Revision 46042:
[KERNEL32/CSRSS]: Register new Win32 threads with CSRSS. Add a bunch of
lookup, creation, allocation, hashing and CSR thread management routines
from the unused CSRSRV in trunk.
[CSRSS]: Bang in the new thread support in a bunch of places, including
creating static server threads. It's very hacked and handle duplication
doesn't work 100% reliably, but it gets the job done.
[CSRSS]: Add CsrGetProcessLuid, CsrImpersonateClient, CsrRevertToSelf,
CsrShutdownProcesses, CsrFindProcessForShutdown required for user-mode
shutdown. Right now we are able to reliably enumerate user apps (in the user
LUID) and then service/system apps (in the LOCAL SYSTEM LUID).
triggers regression described here:
http://www.reactos.org/bugzilla/show_bug.cgi?id=5318
(KDBG: Thread list command ASSERTs after attaching to process with PID A0 or
higher)
Hi,
After this commit ac97 doesn't install anymore, device wizard remains in a loop and the debug log shows:
(drivers/wdm/audio/filters/kmixer/kmixer.c:99) KMixer.sys loaded
(drivers/wdm/audio/filters/kmixer/kmixer.c:48) KMix_InstallDevice called
(drivers/wdm/audio/filters/kmixer/kmixer.c:83) KMix_InstallDevice result 0
(ntoskrnl/io/pnpmgr/pnpmgr.c:202) Warning: Starting a device node without DNF_ADDED
Thanks.
Gabriel.
> Date: Wed, 21 Apr 2010 14:06:01 +0000
> To: ros-diffs(a)reactos.org
> From: sir_richard(a)svn.reactos.org
> Subject: [ros-diffs] [sir_richard] 46977: [NTOS]: Enable MmPageEntireDriver by implementing MiSetPagingOfDriver. [NTOS]: Call MiEnablePagingOfDriver from MmLoadSystemImage and implement it. All the work is done other than actually enabling paging, which requires system working set support. [NTOS]: Implement MiWriteProtectSystemImage and MiComputeDriverProtection. All the work is done other than actually setting the bits on the pages, since I wanted to avoid too many changes. [NTOS]: MmCheckSystemImage returns STATUS_INVALID_IMAGE_PROTECT, not STATUS_INVALID_IMAGE_FORMAT, so the branch in MmLoadSystemImage needs to check for the correct status code. [NTOS]: Support FLG_SHOW_LDR_SNAPS for the kernel loader.
>
_________________________________________________________________
Messenger e Hotmail in tasca. Provali sul tuo cellulare!
http://new.windowslivemobile.msn.com/it-it/Default.aspx
Not surprised!
I guess ReactOS new polices are for hiding the real issues and not
fixing them and revert all the correct code. Since the kernel rewrites
and the new order of coding, these oddities have now surfaced. The
TEB, is inaccessible from kernel mode as in bug 5265 and 5314, and the
strange processes access issues in bug 5310. This revert silliness
will result in moving the project back to post windows 95 architecture
(arwinss). ReactOS is about moving forward and taking chances with
innovations from learned information then moving away to make it work
even better. Personally, I hope someone will take up where this left
off and move on.
Good luck!
Reference:
http://www.reactos.org/bugzilla/show_bug.cgi?id=5265http://www.reactos.org/bugzilla/show_bug.cgi?id=5310http://www.reactos.org/bugzilla/show_bug.cgi?id=5314
Gregor Schneider <grschneider(a)gmail.com> wrote:
> That made me think: what happens to this field if the ShellExecuteEx
> call succeeds and the flag SEE_MASK_NOCLOSEPROCESS is not set? Since
> this check was thought to forward the actual result of the execution i
> switched to a simpler and (in my eyes) more reliable code. Plus the
> original code did not use the flag noted in the specification.
> The link you provided on the other hand makes it look like
> ShellExecuteEx always sets this field indendent of any flags passed to
> the function.
>
> To find out the truth one would have to write test cases. It might
> well be that the implementation we use is partially incorrect.
> Especially when looking at testman (it works again :-O ) @
> shell32_winetest shlexec which still has some failures.
Hi Greg,
Perhaps You already know, but let's spell it out anyway:
hInstApp inherits it's traits from WinExec and LoadModule.
WinExec used to be declared HINSTANCE WinExec( LPCSTR CmdLine, UINT
CmdShow ),
and LoadModule also returned a HINSTANCE. At that time they did return
the instance handle, i.e the load address, and it was safe to use these
low values as error codes, because they were impossible load addresses
(they still are).
Even though WinExec/LoadModule's signatures have changed, and we've
been given CreateProcess to exert better control, somewhere in the bowels
of Microsoft's code I'm convinced it still percolates down to basically the
same code to load/launch a module, so the traits remain. And since the
shell APIs are mostly just alternate wrappings for standard Win32 APIs,
it percolates to there as well.
I don't think we need to bother with test cases for this, we could
apply some common sense instead. A quick test shows that both
WinExec and LoadModule actually just return 33 when they succeed,
so we could(/should?) let hInstApp always reflect load status the same
way that WinExec/LoadModule does, regardless of the flags.
That's the most polite to users of ShellExecuteEx.
Then they can error branch on either one.
In case of doubt, always wear both belt and suspenders ;)
if (ShellExecuteExW( &sei ) == FALSE)
return E_FAIL;
if ((INT) sei.hInstApp <= 32)
return E_UNEXPECTED;
Best Regards
// Love
victor martinez <vicmarcal(a)hotmail.com <mailto:vicmarcal@hotmail.com>>
wrote:
>
> - if (sei.hInstApp <= (HINSTANCE)32)
> + if ((INT)sei.hInstApp <= 32)
>
> As you see i am just learning, so thanks in advance.
>
To enlighten You:
If you look at the assembly listing, You'll see that those
two variants generate exactly the same code.
Best Regards
// Love
Hi Jim,
Please don't take this personal, the code has been #iffed out not reverted.
I agree with you that we should keep good code, problem is that lately someone introduces a regression with new or modified code (even correct),
and the regression stays there forever, we should try to avoid such a case.
In this specific case we know the gdibatch code introduced that regression, so my suggestion is: do the commit anyway with a specific roadmap to fix the regression or disable it temporary until the regression is fixed.
Perception is really important, what's gonna think about ros someone that tried it before, now after a new release tries it again and sees that what was working before doesn't work anymore or works worse than it did, your references are a good example of this scenario, but see also:
4461 Regression: Notepad Lite doesn't install
4677 Regression: Can't restore minimized windows
4948 Regression: Can't close locale dialog
5276 Regression: shell about dialog doesn't display header bitmap
And there are more...
I'm not gonna blame win32k only here as regressions are not its exclusivity, it's funny that before uniata we were suggesting people to rename uniata to atapi to test in boxes with sata controllers, now we do the oposite (atapi -> uniata )to let people test in pata.
I've mentioned in ros-dev also that ros takes more than 2 minutes in my virtual machine to install when it tooks some seconds before (two hd attached to the primary channel), I'm not able to test ros so frequently now because of this.
I've also mentioned that AC97 stopped working, has regressed for several reasons several revisions away, now I'm not being prompted anymore for its driver as 46998...
We can't keep working like this, testers should work in a coordinated way with developers, both of them are important, there aren't many skilled testers to be honest just take a look at bugzilla...
Sometimes I test and see regressions and don't know what to do anymore, stop testing, tell ros-dev, bug the dev, give up...
Gabriel.
> Date: Thu, 22 Apr 2010 20:47:52 -0500
> From: jimtabor.rosdev(a)gmail.com
> To: ros-dev(a)reactos.org
> Subject: [ros-dev] [ros-diffs] [tkreuzer] 46998: Disable gdi batch for SelectObject with fonts. Fixes font regression.
>
> Not surprised!
>
> I guess ReactOS new polices are for hiding the real issues and not
> fixing them and revert all the correct code. Since the kernel rewrites
> and the new order of coding, these oddities have now surfaced. The
> TEB, is inaccessible from kernel mode as in bug 5265 and 5314, and the
> strange processes access issues in bug 5310. This revert silliness
> will result in moving the project back to post windows 95 architecture
> (arwinss). ReactOS is about moving forward and taking chances with
> innovations from learned information then moving away to make it work
> even better. Personally, I hope someone will take up where this left
> off and move on.
>
> Good luck!
>
> Reference:
>
> http://www.reactos.org/bugzilla/show_bug.cgi?id=5265
> http://www.reactos.org/bugzilla/show_bug.cgi?id=5310
> http://www.reactos.org/bugzilla/show_bug.cgi?id=5314
>
> _______________________________________________
> Ros-dev mailing list
> Ros-dev(a)reactos.org
> http://www.reactos.org/mailman/listinfo/ros-dev
_________________________________________________________________
Messenger e Hotmail in tasca. Provali sul tuo cellulare!
http://new.windowslivemobile.msn.com/it-it/Default.aspx
Isn't that just a audio driver regression not an Install wizard one?
"Starting a device node without DNF_ADDED"
On 22 April 2010 14:09, Gabriel ilardi <gabrielilardi(a)hotmail.it> wrote:
> Hi,
> Device installation wizard has regressed again, now if you try to install
> the AC97 driver, it remains in a loop, and ros slows down at the point of
> being unusabe,
> the debug log shows:
>
> (ntoskrnl/io/pnpmgr/pnpmgr.c:190) Warning: Starting a device node without
> DNF_ADDED or DNF_ENUMERATED (Root\LEGACY_kmixer\0000)
>
> Thanks,
>
> Gabriel.
>
> > Date: Wed, 21 Apr 2010 22:33:12 +0000
> > To: ros-diffs(a)reactos.org
> > From: cgutman(a)svn.reactos.org
> > Subject: [ros-diffs] [cgutman] 46983: [NTOSKRNL] - Replace the broken
> CM_RESOURCE_LIST_SIZE with a better function that actually works with
> resource lists that have device-specific data in them (fixes missing device
> specific data when resources are retrieved with IoGetDeviceProperty) -
> Separate the resource code out of pnpmgr.c and into pnpres.c - Simplify
> resource assigning to simply calling one function, IopAssignDeviceResources,
> which takes care of the registry configuration, translation, etc. - Set the
> DNF_NEED_ENUMERATION_ONLY flag only AFTER the device is actually started not
> before - Set DNF_START_FAILED if IRP_MN_START_DEVICE fails - Fix a bug in
> IoReportDetectedDevice that wrote the AllocConfig value to wrong place
> >
> > Author: cgutman
> > Date: Thu Apr 22 00:33:11 2010
> > New Revision: 46983
> >
> > URL: http://svn.reactos.org/svn/reactos?rev=46983&view=rev
> > Log:
> > [NTOSKRNL]
> > - Replace the broken CM_RESOURCE_LIST_SIZE with a better function that
> actually works with resource lists that have device-specific data in them
> (fixes missing device specific data when resources are retrieved with
> IoGetDeviceProperty)
> > - Separate the resource code out of pnpmgr.c and into pnpres.c
> > - Simplify resource assigning to simply calling one function,
> IopAssignDeviceResources, which takes care of the registry configuration,
> translation, etc.
> > - Set the DNF_NEED_ENUMERATION_ONLY flag only AFTER the device is
> actually started not before
> > - Set DNF_START_FAILED if IRP_MN_START_DEVICE fails
> > - Fix a bug in IoReportDetectedDevice that wrote the AllocConfig value to
> wrong place
> >
> > Added:
> > trunk/reactos/ntoskrnl/io/pnpmgr/pnpres.c (with props)
> > Modified:
> > trunk/reactos/ntoskrnl/include/internal/io.h
> > trunk/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c
> > trunk/reactos/ntoskrnl/io/pnpmgr/pnpreport.c
> > trunk/reactos/ntoskrnl/ntoskrnl-generic.rbuild
>
> ------------------------------
> Condividi le tue emozioni e proteggi la tua privacy. Chiacchiera su
> Messenger <http://www.windowslive.it/importaAmici.aspx>
>
> _______________________________________________
> Ros-dev mailing list
> Ros-dev(a)reactos.org
> http://www.reactos.org/mailman/listinfo/ros-dev
>
--
Andrew Faulds (andrewros)
http://ajf.me/
After asking in ReactOS-dev what is the antonym of "Regression" (thanks DosX for telling me :) ), I am glad to show you an "IMPROVEMENT".
It´s easy to complain about Regressions but we should try to show our little improvements.
Congrats to our Devs because their efforts :)
== Foxit Reader 2.1 is much more usable. 0.3.11 screenshot vs Trunk screenshot.==
Screenshot: http://img696.imageshack.us/img696/8839/foxit2.jpg
_________________________________________________________________
Tus datos personales, más seguros con Internet Explorer 8.
http://www.microsoft.com/spain/windows/internet-explorer/default.aspx
Hi,
Device installation wizard has regressed again, now if you try to install the AC97 driver, it remains in a loop, and ros slows down at the point of being unusabe,
the debug log shows:
(ntoskrnl/io/pnpmgr/pnpmgr.c:190) Warning: Starting a device node without DNF_ADDED or DNF_ENUMERATED (Root\LEGACY_kmixer\0000)
Thanks,
Gabriel.
> Date: Wed, 21 Apr 2010 22:33:12 +0000
> To: ros-diffs(a)reactos.org
> From: cgutman(a)svn.reactos.org
> Subject: [ros-diffs] [cgutman] 46983: [NTOSKRNL] - Replace the broken CM_RESOURCE_LIST_SIZE with a better function that actually works with resource lists that have device-specific data in them (fixes missing device specific data when resources are retrieved with IoGetDeviceProperty) - Separate the resource code out of pnpmgr.c and into pnpres.c - Simplify resource assigning to simply calling one function, IopAssignDeviceResources, which takes care of the registry configuration, translation, etc. - Set the DNF_NEED_ENUMERATION_ONLY flag only AFTER the device is actually started not before - Set DNF_START_FAILED if IRP_MN_START_DEVICE fails - Fix a bug in IoReportDetectedDevice that wrote the AllocConfig value to wrong place
>
> Author: cgutman
> Date: Thu Apr 22 00:33:11 2010
> New Revision: 46983
>
> URL: http://svn.reactos.org/svn/reactos?rev=46983&view=rev
> Log:
> [NTOSKRNL]
> - Replace the broken CM_RESOURCE_LIST_SIZE with a better function that actually works with resource lists that have device-specific data in them (fixes missing device specific data when resources are retrieved with IoGetDeviceProperty)
> - Separate the resource code out of pnpmgr.c and into pnpres.c
> - Simplify resource assigning to simply calling one function, IopAssignDeviceResources, which takes care of the registry configuration, translation, etc.
> - Set the DNF_NEED_ENUMERATION_ONLY flag only AFTER the device is actually started not before
> - Set DNF_START_FAILED if IRP_MN_START_DEVICE fails
> - Fix a bug in IoReportDetectedDevice that wrote the AllocConfig value to wrong place
>
> Added:
> trunk/reactos/ntoskrnl/io/pnpmgr/pnpres.c (with props)
> Modified:
> trunk/reactos/ntoskrnl/include/internal/io.h
> trunk/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c
> trunk/reactos/ntoskrnl/io/pnpmgr/pnpreport.c
> trunk/reactos/ntoskrnl/ntoskrnl-generic.rbuild
_________________________________________________________________
Messenger e Hotmail in tasca. Provali sul tuo cellulare!
http://new.windowslivemobile.msn.com/it-it/Default.aspx
Hi.
Can somebody test/fix building fastfat_new? It seems, that it's problem
with headers.
Log:
[CC] drivers\filesystems\fastfat_new\fastio.c
[CC] drivers\filesystems\fastfat_new\fcb.c
cc1.exe: warnings being treated as errors
drivers\filesystems\fastfat_new\fcb.c: In function 'FatFindFcb':
drivers\filesystems\fastfat_new\fcb.c:85: error: implicit declaration of
functio
n 'RtlLeftChild'
drivers\filesystems\fastfat_new\fcb.c:85: error: assignment makes
pointer from i
nteger without a cast
drivers\filesystems\fastfat_new\fcb.c:90: error: implicit declaration of
functio
n 'RtlRightChild'
drivers\filesystems\fastfat_new\fcb.c:90: error: assignment makes
pointer from i
nteger without a cast
drivers\filesystems\fastfat_new\fcb.c:95: error: implicit declaration of
functio
n 'RtlSplay'
drivers\filesystems\fastfat_new\fcb.c:95: error: assignment makes
pointer from i
nteger without a cast
drivers\filesystems\fastfat_new\fcb.c: In function 'FatInsertName':
drivers\filesystems\fastfat_new\fcb.c:904: error: implicit declaration
of functi
on 'RtlInitializeSplayLinks'
drivers\filesystems\fastfat_new\fcb.c:946: error: implicit declaration
of functi
on 'RtlInsertAsLeftChild'
drivers\filesystems\fastfat_new\fcb.c:963: error: implicit declaration
of functi
on 'RtlInsertAsRightChild'
drivers\filesystems\fastfat_new\fcb.c: In function 'FatRemoveNames':
drivers\filesystems\fastfat_new\fcb.c:993: error: implicit declaration
of functi
on 'RtlDelete'
drivers\filesystems\fastfat_new\fcb.c:993: error: assignment makes
pointer from
integer without a cast
drivers\filesystems\fastfat_new\fcb.c:1002: error: assignment makes
pointer from
integer without a cast
make.exe: *** [obj-i386\drivers\filesystems\fastfat_new\fcb_fastfatn.o]
Error 1
WBR, Alexey Komarov.
Hi, i am happy of telling you that "0.3.12 Changelog" has been opened to recive all your commits in an ordered way.
0.3.11 was released on 16 December(2009), more than 4 months ago, this means a huge number of commits that we have to order before we can make attempts to create a 0.3.12 release.
The link is(as usual): http://www.reactos.org/wiki/ChangeLog-0.3.12
I hope opening the Changelog before trying to release will help to solve the Changelog bottleneck and will give us more time to create it.
Let´s move towards 0.3.12...
Thanks for your minute :)
_________________________________________________________________
Recibe un SMS de tu Hotmail vayas donde vayas. ¡Date de alta!
http://home.mobile.live.com/MobileAttach.mvc/?mkt=es-es
Hi, i have been giving a look to this patch and i have some doubts(just learning :) )
The code is:
@@ -1298,8 +1298,8 @@ static HRESULT WINAPI ICPanel_IContextMenu2_InvokeCommand(
sei.hwnd = lpcmi->hwnd;
sei.nShow = SW_SHOWNORMAL;
sei.lpVerb = L"open";
- ShellExecuteExW(&sei);
- if (sei.hInstApp <= (HINSTANCE)32)
+
+ if (ShellExecuteExW(&sei) == FALSE)
return E_FAIL;
MSDN says that if ShellExecuteExW fails it sets hInstApp to a value lower than 32 and,also, returns FALSE.
(MSDN: http://msdn.microsoft.com/en-us/library/bb762154(VS.85).aspx )
So both lines of codes(buggy and patched) are,at first sight,doing the same.Just using a different way.
The Commit says:
- Simplify checks for success of ShellExecuteEx, field hInst may be an unreliable indicator according to
http://msdn.microsoft.com/en-us/library/bb759784%28v=VS.85%29.aspx
Why is it unreliable? :) I am not saying it is reliable, just that i dont find the reason there...my skills are limited.. :(
I have just found: "Although hInstApp is declared as an HINSTANCE for compatibility with 16-bit Windows applications, it is not a true HINSTANCE. It can be cast only to an int and compared to either 32 or the following SE_ERR_XXX error codes ".
So my question is: Is the Bug in the cast to (HINSTANCE) instead to (INT)?I mean,do this solve the bug too?:
- if (sei.hInstApp <= (HINSTANCE)32)
+ if ((INT)sei.hInstApp <= 32)
As you see i am just learning, so thanks in advance.
And yes, i prefer the new way that patch is using.Using the returned the value seems much more logic than using a "collateral damage". :)
Btw, thanks Gregor for your hunting-fixing week ;)
_________________________________________________________________
¡Citas! ¡Ligues! ¿Salimos? ¿Cómo es tu pareja ideal? Búscala en el sitio nº1… ¡Regístrate ya!
http://contactos.es.msn.com/?mtcmk=015352
Hello,
"[NTOS]: 1MB is not 1000 * 1KB... "
http://en.wikipedia.org/wiki/Megabyte
1 KB = 1000 byte (decimal)
1 KiB = 1024 byte (binary)
1 MB = 1000 KB
1 MiB = 1024 KiB
Would be nice if ReactOS goes across the border
and also uses the modern SI unit definitions ;-)
If in code definitions or shown as text to the user ..
Cheers,
Peter
For one that bitches about trunk being broken all the time and punish
everyone trying to get it fixed! Why not push this much effort to help
fix the same issue in trunk.... Or is it done so truck stays broken?
Does this work under Mono? AFAIK, Mono supports C# 3.5 and C# 4.0 language
features.... so...?
On Sat, Apr 17, 2010 at 7:56 AM, Aleksey Bragin <aleksey(a)reactos.org> wrote:
> Official URL for that component is http://dev.skybound.ca/download.aspx
> Just for reference, it indeed crashes when running the HTML report backend,
> I'm investigating this in the free time.
>
> WBR,
> Aleksey.
>
>
> On Apr 14, 2010, at 6:41 PM, Ged Murphy wrote:
>
> It partially works.
>> Can't build the designer due to a Skybound.VisualStyles dependency. I
>> assume we get that from here?
>> http://windowsclient.net/downloads/folders/controlgallery/entry1590.aspx
>>
>> It then crashes when running the html report
>>
>> Just in case you were interested....
>>
>> Ged.
>>
>> -----Original Message-----
>> From: ros-diffs-bounces(a)reactos.org [mailto:ros-diffs-bounces@reactos.org]
>> On Behalf Of mpiulachs(a)svn.reactos.org
>> Sent: 13 April 2010 23:00
>> To: ros-diffs(a)reactos.org
>> Subject: [ros-diffs] [mpiulachs] 46862: My first commit in a very long
>> time. I'm releasing the source code of my C# implementation of Rbuild by
>> popular demand :) I would have preferred to release the code under a BSD
>> licence but there is a small portion of ancient
>>
>> Author: mpiulachs
>> Date: Tue Apr 13 23:59:21 2010
>> New Revision: 46862
>>
>> URL: http://svn.reactos.org/svn/reactos?rev=46862&view=rev
>> Log:
>> My first commit in a very long time. I'm releasing the source code of my
>> C# implementation of Rbuild by popular demand :) I would have preferred to
>> release the code under a BSD licence but there is a small portion of ancient
>> Nant GPL code that would have been to be rewritten first.
>>
>> There are two executables (SysGen.Designer) and (SysGen.Make)
>>
>> SysGen.Designer is a windows forms tool that allows to generate customized
>> reactos images, it is similar in concept to Windows CE Platfom Builder.
>> SysGen.Make is the actual Rbuild clone, It has three main parts, the .rbuild
>> file parser + in-memory tree representation, the backends , and the auto
>> generated files. The Mingw backend used to work 1'5 years ago and produced a
>> 100% valid makefile.auto but have to be updated to be able to build a recent
>> revision. Rewriting parts of it to take advantage of C# 3.5 extension
>> methods would probably reduce the code by 50%. The other two parts are quite
>> stable.
>>
>> This code was only a proof of concept and was never intended to be
>> released so there is a ton of unpolished code and hacks required by the
>> current C++ implementation that should be removed.
>>
>> How to test it:
>>
>> Select SysGen.Make as the Start-up Project in Visual Studio and edit
>> Program.cs to point to the correct path to ReactOS-i386.rbuild Edit
>> SysGenEngine.cs:639 to enable/disable specific backends, The HtmlBackend in
>> \SysGen.BuildEngine\Backends\Html\HtmlBackend.cs is a very simple
>> illustration of how powerful this framework is.
>>
>> Happy hacking!
>>
>>
>>
>>
>> _______________________________________________
>> Ros-dev mailing list
>> Ros-dev(a)reactos.org
>> http://www.reactos.org/mailman/listinfo/ros-dev
>>
>
>
> _______________________________________________
> Ros-dev mailing list
> Ros-dev(a)reactos.org
> http://www.reactos.org/mailman/listinfo/ros-dev
>
It partially works.
Can't build the designer due to a Skybound.VisualStyles dependency. I assume we get that from here? http://windowsclient.net/downloads/folders/controlgallery/entry1590.aspx
It then crashes when running the html report
Just in case you were interested....
Ged.
-----Original Message-----
From: ros-diffs-bounces(a)reactos.org [mailto:ros-diffs-bounces@reactos.org] On Behalf Of mpiulachs(a)svn.reactos.org
Sent: 13 April 2010 23:00
To: ros-diffs(a)reactos.org
Subject: [ros-diffs] [mpiulachs] 46862: My first commit in a very long time. I'm releasing the source code of my C# implementation of Rbuild by popular demand :) I would have preferred to release the code under a BSD licence but there is a small portion of ancient
Author: mpiulachs
Date: Tue Apr 13 23:59:21 2010
New Revision: 46862
URL: http://svn.reactos.org/svn/reactos?rev=46862&view=rev
Log:
My first commit in a very long time. I'm releasing the source code of my C# implementation of Rbuild by popular demand :) I would have preferred to release the code under a BSD licence but there is a small portion of ancient Nant GPL code that would have been to be rewritten first.
There are two executables (SysGen.Designer) and (SysGen.Make)
SysGen.Designer is a windows forms tool that allows to generate customized reactos images, it is similar in concept to Windows CE Platfom Builder. SysGen.Make is the actual Rbuild clone, It has three main parts, the .rbuild file parser + in-memory tree representation, the backends , and the auto generated files. The Mingw backend used to work 1'5 years ago and produced a 100% valid makefile.auto but have to be updated to be able to build a recent revision. Rewriting parts of it to take advantage of C# 3.5 extension methods would probably reduce the code by 50%. The other two parts are quite stable.
This code was only a proof of concept and was never intended to be released so there is a ton of unpolished code and hacks required by the current C++ implementation that should be removed.
How to test it:
Select SysGen.Make as the Start-up Project in Visual Studio and edit Program.cs to point to the correct path to ReactOS-i386.rbuild Edit SysGenEngine.cs:639 to enable/disable specific backends, The HtmlBackend in \SysGen.BuildEngine\Backends\Html\HtmlBackend.cs is a very simple illustration of how powerful this framework is.
Happy hacking!
I don't mean to sound like a broken record, and I also understand that the project allows people to work on whatever they want to. But with the project in such a state at the moment, is a pcmcia bus driver really the best thing to be working on?
I'm all for project freedom, but you would hope people to have the diligence to work on areas which might help to stop the project from failing.
Maybe I just don't get it anymore and I'm behind the times, but what happened to the days when people used to work on important things?
Your nagging ex-dev,
Ged.
-----Original Message-----
From: ros-diffs-bounces(a)reactos.org [mailto:ros-diffs-bounces@reactos.org] On Behalf Of cgutman(a)svn.reactos.org
Sent: 15 April 2010 02:59
To: ros-diffs(a)reactos.org
Subject: [ros-diffs] [cgutman] 46876: [PCMCIA] - Add a mostly stubbed PCMCIA driver - pcmcia.c is complete but fdo.c and pdo.c are completely unimplemented
Author: cgutman
Date: Thu Apr 15 03:59:15 2010
New Revision: 46876
URL: http://svn.reactos.org/svn/reactos?rev=46876&view=rev
Log:
[PCMCIA]
- Add a mostly stubbed PCMCIA driver
- pcmcia.c is complete but fdo.c and pdo.c are completely unimplemented
Added:
trunk/reactos/drivers/bus/pcmcia/
trunk/reactos/drivers/bus/pcmcia/fdo.c (with props)
trunk/reactos/drivers/bus/pcmcia/pcmcia.c (with props)
trunk/reactos/drivers/bus/pcmcia/pcmcia.h (with props)
trunk/reactos/drivers/bus/pcmcia/pcmcia.rbuild (with props)
trunk/reactos/drivers/bus/pcmcia/pcmcia.rc (with props)
trunk/reactos/drivers/bus/pcmcia/pdo.c (with props)
Modified:
trunk/reactos/drivers/bus/directory.rbuild
Hi,
This revision introduces some regressions:
- device manager list is empty
- network connections is empty too,
- it also breaks vbox guest additions installation on vbox version 3.0.12.
See bug 5294 for more details: http://www.reactos.org/bugzilla/show_bug.cgi?id=5294
Thanks.
Gabriel.
[NTOSKRNL]
- Create registry values for legacy drivers
- Handle raw devices properly
- Don't set DNF_STARTED before actually calling IopStartDevice
- Don't set DNF_STARTED for legacy drivers inside IopCreateDeviceNode
- Fixes missing entries in Device Manager for raw devices
_________________________________________________________________
Naviga al sicuro. Scarica gratis Internet Explorer 8 per MSN
http://www.microsoft.com/italy/windows/internet-explorer/msn.aspx
Hi team,
I don't know why, but it seems that bugzilla and ros-bugs is being ignored, except for some exceptions where I've seen regressions fixed lately.
IMHO it's extremely important the perception people have about us when they test ros, if ros improved overall but that's not noticeable to the end user
the final perception will be bad, now if we want a cooler release than 0.3.11 and older revisions, people should feel the improvement.
I'm gonna make a short sum up of what I think it should be fixed or tried to at least to accomplish that (this list contains not only regressions but bugs that would improve the ros perception for the average user):
I hope we can all work as a team to try and fix these issues, I can only offer my help testing as that's the thing I know best atm.
GUI perception:
642 hotkeys not supported:
Wouldn't it be cool to hit Win+R to run, Start menu appearing when hitting win, etc.? copy paste files with the keyboard...
I'd also add here, we need to be able to switch applications with alt-tab, I remember johannes did something related to this long ago.
969 Minimized windows are shown on the desktop, no need to mention that this reminds me of win 3.11, good old times, but that was long ago...
1603 can't exit rename state
2320 clock doesn't show properly (partially shown), this exists since I remember too.
2322 Hide inactive icons doesn't work, please remove this... option :)
2328 Shell doesn't restart upon its failure
2428 non stop scrolling hangs entire gui, aka "if you do dir /s in real hardware go have a good breakfast"
2788 unwanted multiple selection while doing a right click on the desktop, ugly when you have multiple icons on your desktop and launch them because of this
3101 our remote dekstop can't be used, you can't change settings
3171 focus doesn't change back to parent window
3212 different keyboard responses, also keyboard doesn't work correctly with dinput see bug 4405
4379 hovering the mouse over the start menu spoils the text
4847 File copying dialog is missing
4915 Control panel: Keyboard doesn't work after opening and closing an applet
4960 ReactOS restarts at the beginning of 2nd stage if you hit ESC
Explorer has all kind of visual glitches you can imagine and even more.
keyboard layout issues: it's language dependent when it shouldn't be, changing keyboard layout doesn't work,
kb layout tools dont' work, wrong keyboard layout in cmd see 3317, 2132, 2133, 2178, 2952, see also profiles problems below
Visual/Graphic bugs:
There are tons of these, I'll name a few, luckily we have Arwinss.
3624 worksoft navigator can't be minimized.
3680 Blinking text while installing vc2008 redist package
4051 Command Prompt icon showed through a window
General:
Users need to save a file to the desktop and see it has been created, see bug 1249 and also 2821.
Winamp main window is unclicable, this has existed since I rememer, bug 1239.
taskmgr shows still processes that have been killed, see bug 1567.
2393 you need to move the mouse to make firefox work (thanks arwinss for this too).
Profiles: They are messed, %TEMP% has some issues see bugs 2482, 2972, also 4008 and 4102, all users desktop icons don't appear in user's desktop 4289, also bug 4444.
2622 console doesn't support scrolling at all.
2978 we can't search it regedit, it doesn't work and hangs the app.
3225 3dtext screensaver shows garbled text
3429 can't select any color in comdlg32 color dialog, since I remember too...
3559 Double-click on application icon does not close application.
3781 Tab Key does not work for "SysIPAddress32" controls
3883 screensaver doesn't start automatically
3966 can't hit enter on a selected item to open it
4049 changing screen resolutions requires restart, thanks Timo aka yaratows master! :)
4066 Notepad, uses two different fonts / highlighted text invisible
4106 Wrong text spacing in popup menus / icons after show a font in control applet / Remote Desktop
4185 [PATCH] Netstat produces b*llshit, should we apply the patch ?
4377 Notepad: Find command doesn't work right.
4380 Real Hardware: mouse wheel doesn't work
4383 Can't delete many items from Desktop at once using the mouse
4501 When closing one window, Firefox gets restored if it was minimized
4560 explorer mouse rectangle doesn't work anymore (I'm not sure it ever worked, it does work in arwinss)
4676 Unable to restore down a maximised window
4779 K-Meleon popup menus dont work
4835 Regression: Memory usage continuously decreases in task manager even though memory usage doesn't change (HACKFIXED)
5005 Foxit reader, program starts automatically instead of the installation wizard
5030 Changing color depth resets the wallpaper to none
5059 mIRC 6.35 server list with unusable scrollbar
5066 PATCH : Incorrect sending of mouse messages, can someone take a look ?
5099 [metabug]ReactOS new loader doesnt work with more than 3584 MB of RAM, let's not forget this one 5100 and 5101 too
Regressions:
3716 Livecd networking does not work in qemu
3727 Regression: roscalc problems with keyboard input etc.
4461 Regression: Notepad Lite
4568 Regression: Startup Folder stopped working (see profiles and environment vars too)
4677 Regression: Can't restore minimized windows
4811 Recent AbiWord toolbar regression: comctl32 sync r42706
4926 Regression: Tworld and DosBox don't work
4948 [Regression] Can't close locale settings dialog on 2nd stage of setup
4951 [Regression] 'whois' hangs
5035 Regression: Abiword - Fonts listbox isn't shown properly
5276 Regression: shell about dialog doesn't display header bitmap
5294 Regression: Device manager list is empty
x-chat used to work, it looked bad, now it doesn't even start, there's
no specific regression bug filed for this, see bug 1176
Features needed:
USB keyboard and mouse are a must nowadays, ps/2 won't last much longer..., bug 1041, also ps/2 doesn't work if you unplug it and replug it later bug 1395.
Installation/USetup needs to be able to handle bootmgrs, and other partitions when they are present, at least give you the possibility to wipe everything up.
also 2564 ros doesn't mount logical units on extended partitions, see also 2733, 4368, 4614, 5270
VGA/VBE bug 2073 ros does not work on vga display. See also 2286, 4354, 4447, 4192
Several uniata issues in real hw 4591, 4995
We need drag & drop a wokring clipboard
Last but not least there's a regression not filed yet to my knowledge:
(subsystems/win32/win32k/ntuser/vis.c:75) ATM the Current Window or Parent is dead!
(subsystems/win32/win32k/ntuser/vis.c:75) ATM the Current Window or Parent is dead!
(subsystems/win32/win32k/ntuser/windc.c:738) Not POWNED or CLASSDC hwndCurrent -> 20168
Assertion 'FALSE' failed at subsystems/win32/win32k/ntuser/windc.c line 739
PuTTYEntered debugger on embedded INT3 at 0x0008:0x808e5e5e.
kdb:> bt
Eip:
<ntoskrnl.exe:e5e5f (lib/rtl/i386/debug_asm.S:33 (DbgBreakPoint@0))>
Frames:
<win32k.sys:7b79e (subsystems/win32/win32k/ntuser/windc.c:739 (@DceFreeWindowDCE@4))>
<win32k.sys:7f69c (subsystems/win32/win32k/ntuser/window.c:488 (co_UserFreeWindow))>
<win32k.sys:7fab7 (subsystems/win32/win32k/ntuser/window.c:2747 (@co_UserDestroyWindow@4))>
<win32k.sys:7faed (subsystems/win32/win32k/ntuser/window.c:2771 (NtUserDestroyWindow@4))>
<ntoskrnl.exe:6fb7 (ntoskrnl/ke/i386/traphdlr.c:1564 (@KiSystemServiceHandler@8))>
<ntoskrnl.exe:e041d (ntoskrnl/ke/i386/trap.s:127 (KiInterruptTemplateDispatch))>
<ntdll.dll:7ac5>
<user32.dll:47ed1>
<user32.dll:48063>
<ntdll.dll:7a1d>
<explorer.exe:16ded>
<explorer.exe:436c6>
<user32.dll:47ed1>
<user32.dll:4851d>
<user32.dll:48768>
<user32.dll:2cf50>
<user32.dll:2dd16>
<user32.dll:2eaad>
<user32.dll:2eb70>
<user32.dll:3b92d>
<explorer.exe:16e2a>--- Press q to abort, any other key to continue ---
<explorer.exe:436c6>
<user32.dll:47ed1>
<user32.dll:4851d>
<user32.dll:48768>
<user32.dll:4bfa2>
<user32.dll:4c06b>
<user32.dll:2d5ed>
<user32.dll:2eaad>
<user32.dll:2eb70>
<user32.dll:3b92d>
<explorer.exe:16e2a>
<explorer.exe:436c6>
<user32.dll:47ed1>
<user32.dll:4851d>
<user32.dll:48a5b>
<explorer.exe:4296c>
<explorer.exe:4dd23>
<explorer.exe:51c4b>
<explorer.exe:60ad9>
<explorer.exe:60906>
<explorer.exe:60968>
<kernel32.dll:2ef7b>
--- Press q to abort, any other key to continue ---
<00000000>
kdb:>
I'll be back, promise ;).
_________________________________________________________________
Più di 20 giochi su Messenger. Scoprili tutti!
http://www.messenger.it/raccoltaGiochi.aspx
Hi Marc,
Cool, thanks! It's nice to see you back, hope to see more commits too ;)
Gabriel.
_________________________________________________________________
Più di 20 giochi su Messenger. Scoprili tutti!
http://www.messenger.it/raccoltaGiochi.aspx
Hi,
Well..I have been here just for a year and a half, and it is pretty obvious that we are not following any "direction" to achieve something in common.We are making progress in our own,sometimes without telling to the others and sometimes introducing regressions 1week before a release thanks to a critical rewrite. Or We are disappearing without telling to anyone.
We==Testers&&Developers&&Translators&&Designers&&TheCommunity.
I will use this email to state,mainly, that i want to be part of a team with an objective, so i offer all my testing help (including those parts i hate to test) to achieve a common goal.I offer my Testing time as Real Testing time and not as a Hobbie.
Maybe we should try to discuss how to reach that goal,and decide(all of us) which is the best way to have something working. I dont know if the correct approach is called Arwinss,Yarotows,WTF!(Want To Finish!) or whatever.The real approach is the final User. And the final User "demands" a workable OS asap.We are making this as a hobbie, but also trying to give a product to the mass(I hope).
We are not acting as a Community,neither me.
The time to find a way has arrived imo.It´s quite discouraging finding this mess. Discouraging for testers and Discouraging for Devs. In the latest half year we have lost some Testers because lack of motivation.And it is called "Road to Nowhere". Devs arrives to ReactOS Project and they seem to leave quite easy,why?.
I hope this time we can all sit and try to find a real solution,deciding which is the Goal (a Hobbie,an OS?),which is the way(comfortable?difficult?no way?hiring internal devs?hiring external devs?knocking sponsors doors?),and which things are needed to complete it(money?motivation?a Bugzilla Testing Week?a RSOC(ReactOS Summer Of Code)?).
Summing up, finding a WHOLE solution to this project called ReactOS.
I think it is not just matter of a Roadmap.
No having a Roadmap(or Milestones) is just the result, not the root of the problems.
Thanks for the 3 minutes.
_________________________________________________________________
Recibe un SMS de tu Hotmail vayas donde vayas. ¡Date de alta!
http://home.mobile.live.com/MobileAttach.mvc/?mkt=es-es
Hello,
yesterday we had a usual rant in #reactos-dev regarding organization,
teaming and development issues, and I explained how I see it. I think
explaining and discussing here would be beneficial.
I won't spend your time explaining how I came to this roadmap, I will
go right to it. This roadmap is mainly usage-oriented and doesn't
cover the kernel (it has its own one).
* Finish wine-based subsystem ("arwinss"), fixing all internal
(absent in Wine and/or trunk) bugs.
Milestone 1: user32 and gdi32 known to work and support at least all
the apps listed in the Wine app compat database.
* Test as many as possible apps known to work in Wine and determine
those which fail.
* Fix failing components (kernel32, ntdll, kernel, CSR, non-synced
DLLs, etc).
Milestone 2: ReactOS supporting quite wide amount of applications,
including major apps like MS Office suites, Open Office, CAD systems,
Adobe products.
Decision point: Because other Win32 components are proven to work, NT-
alike user32, gdi32 and win32k development may be boosted, testing
simplified.
* Implement filesystem drivers, using fastfat_new as a universal
skeleton for FS drivers. Use ntfs3g library and that skeleton to
develop an NTFS IFS driver.
Milestone 3: ReactOS with NTFS support (quite important for end
users, thus separated into a standalone milestone).
* Total rewrite of networking, using NT's one as a model.
Milestone 4: ReactOS with a rock-stable networking. Ability to host
database servers, web and FTP servers.
* Release 1.0 and profit ;)
So that's what I'm sticking to so far. I don't expect everyone to
agree, but if more people are involved, achieving these milestones
will happen faster. Also, they don't really have to go in a sequence,
all of that may be done simulteneously (e.g. filesystem drivers must
be developed against Windows 2003; kernel32 and ntdll could be fixed
first using winetests without waiting for arwinss to be complete;
networking could be again tested in existing ReactOS and Windows).
Comments, improvements are welcome.
WBR,
Aleksey Bragin.
I confirm Gabriel's findings.
2010/4/7 Gabriel ilardi <gabrielilardi(a)hotmail.it>
> Hi Eric,
>
> It seems this commit introduces a regression, I've filed bug 5283 (
> http://www.reactos.org/bugzilla/show_bug.cgi?id=5283) there are no prompts
> to install a driver for unknown hardware (i.e. AC97), I've tested 46702 and
> this doesn't happen.
> I've also reverted 46703 and 46714 in ntoskrnl and replaced head's ntoskrnl
> with it, after that I get the prompt to install the driver again.
> Thanks.
>
> Gabriel.
>
> ------------------------------
> Condividi le tue emozioni e proteggi la tua privacy. Chiacchiera su
> Messenger <http://www.windowslive.it/importaAmici.aspx>
>
> _______________________________________________
> Ros-dev mailing list
> Ros-dev(a)reactos.org
> http://www.reactos.org/mailman/listinfo/ros-dev
>
Hi Eric,
It seems this commit introduces a regression, I've filed bug 5283 (http://www.reactos.org/bugzilla/show_bug.cgi?id=5283) there are no prompts to install a driver for unknown hardware (i.e. AC97), I've tested 46702 and this doesn't happen.
I've also reverted 46703 and 46714 in ntoskrnl and replaced head's ntoskrnl with it, after that I get the prompt to install the driver again.
Thanks.
Gabriel.
_________________________________________________________________
Messenger e Hotmail in tasca. Provali sul tuo cellulare!
http://new.windowslivemobile.msn.com/it-it/Default.aspx
> +
> +#define GDIOBJ_GetKernelObj(Handle) \
> + ((PGDI_TABLE_ENTRY)&GdiHandleTable->Entries[GDI_HANDLE_GET_INDEX(Handle)])->KernelData
>
This function shouldn't even exist.
> pdcattr->hlfntNew = NtGdiGetStockObject(SYSTEM_FONT);
> TextIntRealizeFont(pdcattr->hlfntNew,NULL);
> + NewDC->hlfntCur = pdcattr->hlfntNew;
> + NewDC->dclevel.plfnt = GDIOBJ_GetKernelObj(pdcattr->hlfntNew);
>
Looks like a good way to introduce bugs. There's a reason we have
locking functions. The fact that in this case it's a stockfont that
won't get deleted, doesn't mean we can do this always. If you want
performance, keep a global pointer to the font and use
GDIOBJ_IncrementShareCount
Since no one is listening (reading) to me about this issue and the
response I receive is "WTF are you talking about"! Let me explain one
more time.....
In reference to commit 46679, I attempted to provide the project an
example on how information contexts (IC) are created and removed.
Works as a toggle between switching flags and moving the
pdc->dclevel.pSurface pointer to and from pdc->pSurfInfo. The name of
pSurfInfo should give a good clue.
I was surprised when no one on IRC knew anything about this and it
explains why the yarotows branch is not taking this into
consideration.
Remember my rant? Building code from broke code creates more broken
code! Thus, increasing the amount of wasted time rewriting it.
--- branches/reactos-yarotows/subsystems/win32/win32k/objects/dclife.c
[iso-8859-1] (original)
+++ branches/reactos-yarotows/subsystems/win32/win32k/objects/dclife.c
[iso-8859-1] Sat Apr 3 18:42:04 2010
@@ -377,6 +377,9 @@
PATH_Delete(pdc->dclevel.hPath);
+ if(pdc->dclevel.pSurface)
+ SURFACE_ShareUnlockSurface(pdc->dclevel.pSurface);
+
PDEVOBJ_vRelease(pdc->ppdev) ;
return TRUE;
__________
Need to check for DC_TYPE_INFO and sometimes for DC_FLAG_TEMPINFODC.
Quick check for pSurfInfo if NULL might be helpful too.
I'm keeping track of yarotows and I see some needed merging into trunk
(head, main branch) soon. 46630 is a good start.
Thanks,
James
Referance: [ros-diffs] [jimtabor] 46679: [Win32k] - Implement
MakeInfoDC and support functions. Dedicated to Timo.
http://www.reactos.org/archives/public/ros-diffs/2010-April/036412.html
tkreuzer(a)svn.reactos.org wrote:
> Remove svn:mergeinfo property from several files
We should rather try to eliminate the root of these constant merge
artifacts, which seem to be the remaining svn:keywords properties.
As these ones instruct Subversion to update the revision number in the
affected files, they probably also include the revision numbers of merges
maintained by svn:mergeinfo.
I've already removed some svn:keywords properties in the same files (for
example in r41694), but I believe that this doesn't help much unless the
properties are also removed in all branches we use for merging.
Cheers,
Colin
sir_richard(a)svn.reactos.org wrote:
> [HALACPI]: Support depends on boot loader creating the ACPI BIOS Multi Node structure in
> MultiFunctionAdapter in the hardware tree. It seems that FreeLdr does this (wow!) correctly!
Oh ye of little faith :)
Hi,
Have you guys seen this?
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41013
Is it really a problem? The discussion came up on wine-devel.
Thanks
--
Steven Edwards
"There is one thing stronger than all the armies in the world, and
that is an idea whose time has come." - Victor Hugo
Hi,
The testcd is broken. And no, it's not due to the header merge. This
time it broke in r46574 (hal changes)
Now please don't blame sir richard, instead someone please free some
disk space on the testbot.
Regards,
Timo
*points and laughs at the old man.
VIM all the way, baby!
On Mar 17, 2010 6:55 PM, "James Tabor" <jimtabor.rosdev(a)gmail.com> wrote:
Hi!
I guess it depends on how old some of us are. I use UNIX/Joe since
I've used WordStar in the past. Sometimes G/Kedit too.Visual C++ on
windows.
Not OT at all,
James
On Tue, Mar 16, 2010 at 12:44 PM, Deepak Gupta <mailmeatdkg(a)gmail.com>
wrote:
> I have been browsin...
_______________________________________________
Ros-dev mailing list
Ros-dev(a)reactos.org
http://www....
I have been browsing through reactos sources (mainly boot and ntoskrnl).
I was wondering which Editor/IDE people use for reactos sources.
I am currently using gVim along with ctags to browse through the sources.
Any suggestions which could be more helpful.
Regards
Deepak Gupta
Wow!
Svn must be getting better these days! It merged perfectly to my
changes I have here being tested. Expect some menu improvements and
code additions coming soon.
Thanks,
James
Hi!
typedef struct _TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT {
GUID EnlistmentId;
#if !defined(__cplusplus)
UOW UOW;
#else
::UOW UOW;
#endif
} TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT,
*PTRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT;
can be used instead of a hack.
Dear core developers of Reactos,
I would like to inform YOu about my findings related to screen readers support while using Wine emulator, because as i understood, Wine and Reactos are sharing crucial information to make those tools as much Windows compatible as it is possible.
1. NVDA is not able to run in The Wine, which can be downloaded from PCLINUXOSS repositories, NVDA is only plaing a welcome gong and then i Am receiving series of error messages, one related to winmm.dll and also other related to MSAA support. oleacc.dll very probably.
When i tried one Czech very little screen reader based on using API hooks and API calls, program is written by using Microsoft Visual Basic 6.0 professional edition and crucial helper dlls are written in Microsoft visual C++ but not Express 2005 edition, older release of this programming language has been used.
What are mi findings?
Algorithms used for generating synthesizet speech are working ammazingly in Wine. but other algorithms for fetching names of buttons, objects and for getting textual information are not working.
But i Am afraid, that implementing reliable MSAA support is so much complex for core developers of Wine or Reactos, that it will never been possible to reach this goal.
Many of us are very intelligent and professional developers, who are even able to use Assembler while compiling and developing Reactos core components, but i think, that without access to Windows MSAA source code developing reliable MSAA support will be only big dream, which would never been come true.
Reactos is in general very stable and reliable operating system and i believe, that in future, also many device drivers will work with Reactos.
If also MSAA support would be added in future, this would be very positive for many handicapped users, because MSAA is being used not only by screen readers, but also while using other assistive technology, which are based on MSAA calls.
BUt i think, that Microsoft will not want to reveal The MSAA source code, the modified source code of oleacc.dll, user32.dll and others. Accessing source code is fortunately possible, but i read about this, that some fee must be paied to Microsoft to get access to their source code repository, and i think, that there will be very restricted conditions.
On Fri, Mar 5, 2010 at 12:29 PM, <evb(a)svn.reactos.org> wrote:
> - New Framebuffer (Linear) Display Driver to support new unified VGA/VBE miniport. Based on NT4 DDK Sample, with modifications by me (marked with // eVb) to support new functionality needed for 2003-era driver.
> - Also used Virtual Box Display Driver as sample, which is based on "GPL" Windows 2003 DDK sample driver. Could not use 2003 DDK sample directly because of licensing issues, and feel unsafe about VirtualBox "GPL" driver that says "PATENTED AND ONLY FOR USE IN MICROSOFT PRODUCTS".
> - Note that old driver was based off DDK sample too, but with variables renamed (some comments identical!) and code reformatted, then marked as "GPL". This is not very good way to share/use code... one day someone can teach you lesson.
I am not sure what this comment is supposed to mean. Are you saying
that the wishes of the Author should not be respected? The PATENTED
statement is an extra qualifier. We are talking about two issues,
patents (which are vague and Copyright which is clear). Clearly the
author being Microsoft does not want it's code used as a derived work
for a non-windows OS. As the copyright owner and licensor that is
their right. Or do you propose that developers ignore the copyright
law and do it anyway?
If you want to import the Windows 2003 DDK driver and create a derived
work in violation of the terms, do the rest of us a favor and upload a
scanned copy of your drivers license, passport or whatever as a
resource for this driver so Microsoft will know exactly who to sue.
--
Steven Edwards
"There is one thing stronger than all the armies in the world, and
that is an idea whose time has come." - Victor Hugo
Hi,
There's a regression that I narrowed to this range: 46028 (no regression) - 46043 (regression).
Tested in VirtualBox, in 3rd stage you get: (base/services/umpnpmgr/umpnpmgr.c:2132) CreateProcessAsUserW failed with error 1375 (ERROR_TOKEN_ALREADY_IN_USE), and no new hardware wizard prompt.
Regards,
Gabriel.
Here's the full debug log for 3rd stage:
(ntoskrnl/kd/kdio.c:297) -----------------------------------------------------
(ntoskrnl/kd/kdio.c:298) ReactOS 0.4-SVN (Build 20100309-r46043)
(ntoskrnl/kd/kdio.c:299) Command Line: /DEBUG /DEBUGPORT=COM1 /BAUDRATE=115200 /SOS
(ntoskrnl/kd/kdio.c:303) ARC Paths: multi(0)disk(0)rdisk(0)partition(1) \ multi(0)disk(0)rdisk(0)partition(1) \ReactOS\
(ntoskrnl/ke/i386/cpu.c:746) Prefetch Cache: 64 bytes L2 Cache: 524288 bytes L2 Cache Line: 64 bytes L2 Cache Associativity: 16
WARNING: HalStopProfileInterrupt at hal/halx86/generic/profil.c:24 is UNIMPLEMENTED!
(ntoskrnl/mm/mminit.c:289) 0x80000000 - 0x80C00000 Boot Loaded Image
(ntoskrnl/mm/mminit.c:293) 0x80C00000 - 0x87000000 Paged Pool
(ntoskrnl/mm/mminit.c:297) 0xB0000000 - 0xB0300000 PFN Database
(ntoskrnl/mm/mminit.c:301) 0xB0300000 - 0xB0AC8000 ARM³ Non Paged Pool
(ntoskrnl/mm/mminit.c:305) 0xBC000000 - 0xBD000000 System View Space
(ntoskrnl/mm/mminit.c:309) 0xBD000000 - 0xC0000000 Session Space
(ntoskrnl/mm/mminit.c:312) 0xC0000000 - 0xC0300000 Page Tables
(ntoskrnl/mm/mminit.c:315) 0xC0300000 - 0xC0400000 Page Directories
(ntoskrnl/mm/mminit.c:318) 0xC0400000 - 0xC0800000 Hyperspace
(ntoskrnl/mm/mminit.c:322) 0xE1000000 - 0xED400000 ARM³ Paged Pool
(ntoskrnl/mm/mminit.c:325) 0xF4C00000 - 0xFA305000 System PTE Space
(ntoskrnl/mm/mminit.c:328) 0xFA305000 - 0xFFBE0000 Non Paged Pool Expansion PTE Space
(ntoskrnl/ke/i386/kiinit.c:53) Large Page support detected but not yet taken advantage of
(ntoskrnl/ke/i386/patpge.c:45) Global page support detected but not yet taken advantage of
(ntoskrnl/ke/i386/patpge.c:58) PAT support detected but not yet taken advantage of
(ntoskrnl/ke/i386/mtrr.c:24) MTRR support detected but not yet taken advantage of
PC Compatible Eisa/Isa HAL has been initialized
WARNING: IoReportResourceUsage at ntoskrnl/io/iomgr/iorsrce.c:700 is UNIMPLEMENTED!
WARNING: IoReportResourceUsage at ntoskrnl/io/iomgr/iorsrce.c:700 is UNIMPLEMENTED!
(ntoskrnl/io/iomgr/driver.c:1392) '\Driver\BUSLOGIC' initialization failed, status (0xc00000c0)
(drivers/network/ndis/ndis/miniport.c:2413)(NdisMRegisterMiniport) Initializing an NDIS 5.0 miniport
(drivers/network/ndis/ndis/config.c:485)(NdisReadConfiguration) ZwQueryValueKey #1 failed for NetworkAddress, status 0xc0000034
(drivers/network/ndis/ndis/config.c:700)(NdisReadNetworkAddress) NdisReadConfiguration failed (c0000001)
(drivers/network/ndis/ndis/efilter.c:96)(EthFilterDprIndicateReceive) Filter is NULL
(drivers/network/ndis/ndis/efilter.c:96)(EthFilterDprIndicateReceive) Filter is NULL
(drivers/network/ndis/ndis/efilter.c:96)(EthFilterDprIndicateReceive) Filter is NULL
(drivers/network/ndis/ndis/efilter.c:129)(EthFilterDprIndicateReceiveComplete) Filter is NULL
(ntoskrnl/io/iomgr/deviface.c:1005) IoGetDeviceObjectPointer() failed with status 0xc0000010
wood_uhci: Entering DriverEntry(), RegistryPath=
\Registry\Machine\System\CurrentControlSet\Services\usbdriver
(ntoskrnl/io/iomgr/driver.c:1392) '\Driver\usbdriver' initialization failed, status (0xc0000001)
Unhandled event type: 6
(ntoskrnl/io/iomgr/file.c:420) Using IopParseDevice() hack. Requested invalid attributes: 1
(ntoskrnl/io/iomgr/file.c:420) Using IopParseDevice() hack. Requested invalid attributes: 1
Boot took 14375646481 cycles!
Interrupts: 1079 System Calls: 4850 Context Switches: 291
(subsystems/win32/win32k/ntuser/sysparams.c:1499) UserSystemParametersInfo called without active windowstation.
err:(dll/win32/user32/misc/dllmain.c:367) GetConnected
(subsystems/win32/win32k/ntuser/desktop.c:604) RtlQueryRegistryValues failed for PaintDesktopVersion (c0000034)
(subsystems/win32/win32k/ntuser/sysparams.c:1499) UserSystemParametersInfo called without active windowstation.
(subsystems/win32/win32k/objects/gdiobj.c:1108) Attempted to lock object 0x0 of wrong type (Handle: 0x0, requested: 0x50000)
(subsystems/win32/win32k/objects/gdiobj.c:1108) Attempted to lock object 0x0 of wrong type (Handle: 0x0, requested: 0x50000)
(subsystems/win32/win32k/objects/gdiobj.c:1108) Attempted to lock object 0x0 of wrong type (Handle: 0x0, requested: 0x50000)
(subsystems/win32/win32k/objects/gdiobj.c:1108) Attempted to lock object 0x0 of wrong type (Handle: 0x0, requested: 0x50000)
err:(dll/win32/user32/windows/window.c:281) CreateWindowExA RegisterSystemControls
Boot took 21134116768 cycles!
Interrupts: 1632 System Calls: 8466 Context Switches: 1260
(subsystems/win32/win32k/ntuser/desktop.c:604) RtlQueryRegistryValues failed for PaintDesktopVersion (c0000034)
err:(dll/win32/advapi32/service/sctrl.c:668) ScmrSetServiceStatus() failed (Error 1722)
err:(dll/win32/advapi32/service/sctrl.c:668) ScmrSetServiceStatus() failed (Error 1722)
Boot took 24388307864 cycles!
Interrupts: 1753 System Calls: 11824 Context Switches: 1859
err:(dll/win32/advapi32/service/sctrl.c:668) ScmrSetServiceStatus() failed (Error 1722)
err:(dll/win32/advapi32/service/sctrl.c:668) ScmrSetServiceStatus() failed (Error 1722)
(lib/rtl/actctx.c:874) Unsupported yet language attribute (*)
(lib/rtl/actctx.c:2007) looking for name=Microsoft.Windows.Common-Controls version=6.0.0.0 arch=X86
Using shell hooks for notification of shell events.
(subsystems/win32/win32k/ntuser/hook.c:1202) Not implemented: HookId 3 Global TRUE
fixme:(dll/win32/kernel32/file/backup.c:35) BackupRead is UNIMPLEMENTED!
fixme:(dll/win32/kernel32/file/backup.c:35) BackupRead is UNIMPLEMENTED!
(lib/rtl/actctx.c:874) Unsupported yet language attribute (*)
(lib/rtl/actctx.c:2007) looking for name=Microsoft.Windows.Common-Controls version=6.0.0.0 arch=X86
CreateDirectory("C:\Documents and Settings\Administrator.REACTOS\Application Data\Microsoft")
CreateDirectory("C:\Documents and Settings\Administrator.REACTOS\Application Data\Microsoft\Internet Explorer")
(ntoskrnl/se/semgr.c:294) SidInToken Calls: 10000
CreateDirectory("C:\Documents and Settings\Administrator.REACTOS\Application Data\Microsoft\Internet Explorer\Quick Launch")
(base/services/umpnpmgr/umpnpmgr.c:2132) CreateProcessAsUserW failed with error 1375
(base/services/umpnpmgr/umpnpmgr.c:2132) CreateProcessAsUserW failed with error 1375
(base/services/umpnpmgr/umpnpmgr.c:2132) CreateProcessAsUserW failed with error 1375
(base/services/umpnpmgr/umpnpmgr.c:2132) CreateProcessAsUserW failed with error 1375
_________________________________________________________________
Più spazio per le tue esigenze. Hotmail va oltre i 5GB
http://www.windowslive.it/hotmail/SpazioDisponibile.aspx
I was blamed for doing this the other day. So do we skip tests or
don't? If yes, they must be marked as skipped, not silently ignored.
WBR,
Aleksey Bragin.
On Mar 8, 2010, at 11:52 PM, jimtabor(a)svn.reactos.org wrote:
> Author: jimtabor
> Date: Mon Mar 8 21:52:04 2010
> New Revision: 46006
>
> URL: http://svn.reactos.org/svn/reactos?rev=46006&view=rev
> Log:
> - [User32_winetest]
> - Win : Remove test_capture from service. This is related to
> TrackMouseEvent issues which use SetCapture.
>
> Modified:
> trunk/rostests/winetests/user32/win.c
>
> Modified: trunk/rostests/winetests/user32/win.c
> URL: http://svn.reactos.org/svn/reactos/trunk/rostests/winetests/
> user32/win.c?rev=46006&r1=46005&r2=46006&view=diff
> ======================================================================
> ========
> --- trunk/rostests/winetests/user32/win.c [iso-8859-1] (original)
> +++ trunk/rostests/winetests/user32/win.c [iso-8859-1] Mon Mar 8
> 21:52:04 2010
> @@ -5979,7 +5979,7 @@
> test_capture_1();
> test_capture_2();
> test_capture_3(hwndMain, hwndMain2);
> - test_capture_4();
> +// test_capture_4();
>
> test_CreateWindow();
> test_parent_owner();
>
>
Hi,
Look for ntuser/defwnd.c and read the beginning of the file that deals
with shutdown messages, it passes all the wine tests. If you need
something, just ask, I will implement it.
Thanks,
James
Hi,
trunk is locked until (at least) debug buildslave is back online.
Also, it's a good occasion to actually FIX all those hanging tests
(fix, hackfix, anyotherwaytofix) which lead to buildslaves timewaste
(compare: 4 minutes to build and 1 hour to test). This is unbearable.
Test results should be available within minutes, and allow easy
tracking of failures.
WBR,
Aleksey Bragin.
Hello,
The buildbot slaves are currently offline due to a boot problem
and won't be brought back up until monday.
Please don't commit to trunk and branches until that.
Kind regards,
Sylvain Petreolle
Does the EULA allow you to redistribute sample code without
stipulations? I seem to recall certain versions of the DDK requiring
that derivative works be used only with a Windows OS. Can you please
send me a copy of the EULA for the DDK?
Thanks
Steven
On Fri, Mar 5, 2010 at 12:22 PM, <evb(a)svn.reactos.org> wrote:
> Author: evb
> Date: Fri Mar 5 18:22:18 2010
> New Revision: 45873
>
> URL: http://svn.reactos.org/svn/reactos?rev=45873&view=rev
> Log:
> - Add new unified VGA/VBE miniport driver. Based on NT4 DDK Cirrus Miniport Driver Sample with my modifications (marked with // eVb) to change Cirrus parts to VGA parts if needed. Also add VBE suppor which is not in Cirrus driver, but exists in Windows VGA miniport.
--
Steven Edwards
"There is one thing stronger than all the armies in the world, and
that is an idea whose time has come." - Victor Hugo
Axe them.
On Mar 3, 2010 3:51 AM, "Christoph von Wittich" <Christoph(a)apiviewer.de>
wrote:
remove++
Am 03.03.2010 09:31, schrieb Ged Murphy:
> sir_richard(a)svn.reactos.org wrote:
>
>> Did you know the "funny messages" take up more storage sp...
This space can be used better by ACPI finally working, not to mention tha
ACPI will render it useless anyway.
remove++
2010/3/3 Christoph von Wittich <Christoph(a)apiviewer.de>
> remove++
>
> Am 03.03.2010 09:31, schrieb Ged Murphy:
> > sir_richard(a)svn.reactos.org wrote:
> >
> >> Did you know the "funny messages" take up more storage space than an
> average embedded micro-controller OS?
> >
> > I've never liked these and I think they should be removed.
> > They aren't funny and I'm not 12 years old....
> >
> > Ged.
> >
> >
> >
> >
> >
> > _______________________________________________
> > Ros-dev mailing list
> > Ros-dev(a)reactos.org
> > http://www.reactos.org/mailman/listinfo/ros-dev
>
>
> _______________________________________________
> Ros-dev mailing list
> Ros-dev(a)reactos.org
> http://www.reactos.org/mailman/listinfo/ros-dev
>
sir_richard(a)svn.reactos.org wrote:
> Did you know the "funny messages" take up more storage space than an average embedded micro-controller OS?
I've never liked these and I think they should be removed.
They aren't funny and I'm not 12 years old....
Ged.
janderwald(a)svn.reactos.org wrote:
> - OutputDebugString("UNIMPLEMENTED\n");
> + OutputDebugStringW(L"UNIMPLEMENTED\n");
Why the change?
This is one of the few functions when it's better to use the A version as the W version calls the A
Ged.
I am trying to build 64 drivers using gcc.
I actually got a driver working now but had to fix a problem in winddk.h
winddk.h has the following line just before "typedef struct _IO_STACK_LOCATION":
#include <pshpack4.h>
That causes gcc to ignore the "POINTER_ALIGNMENT" attributes used
inside this struct.
So it does not align these fields to the next 8 byte multiple as
required for 64 bit.
I now removed the "#include <pshpack4.h>" and the "#include
<poppack.h>" at the end
and that make the structure work properly on 64 bit for at least the iocontrol.
Wiljan
I've been using Google Mail and thought you might like to try it out.
Here's an invitation to create an account.
-----------------------------------------------------------------------
Andrew Faulds has invited you to open a free Google Mail account.
To accept this invitation and register for your account, visit
http://mail.google.com/mail/a-e6777bd09-b4d66660a7-cc7400ade44d27c3
Once you create your account, Andrew Faulds will be notified with your
new email address so you can stay in touch with Google Mail!
If you haven't already heard about Google Mail, it's a new
search-based webmail service that offers:
- Over 2,700 megabytes (two gigabytes) of free storage
- Built-in Google search that instantly finds any message you want
- Automatic arrangement of messages and related replies into "conversations"
- Powerful spam protection using innovative Google technology
- No large, annoying ads--just small text ads and related pages that
are relevant to the content of your messages
To learn more about Google Mail before registering, visit:
http://mail.google.com/mail/help/intl/en_GB/benefits.html
We're still working every day to improve Google Mail, so we might ask
for your comments and suggestions periodically. We hope you'll like
Google Mail. We do. And, it's only going to get better.
Thanks,
The Google Mail Team
(If clicking the URLs in this message does not work, copy and paste
them into the address bar of your browser).
Hi,
first my congratz to the great work you do recently. HAL really needed
your attention :-D But... I stumbled over a nice regression last night.
I wanted to install HEAD on the Notebook we will use on Chemnitzer Linux
Tage to show ROS and failed to get to 1st stage at all. After some
regression testing I tracked this down to this range: r45319 still works
up to 3rd stage. r45324 fails to even get in 1st stage. The 5 revs in
between dont build at all, because r45324 was a build fix for r45320 and
this one was a biiig rewrite by Richard. The screen stays black and when
I blindly type "CONT" , I get: ***STOP: 0x0000007B
(0xF1BCDB60,0xC0000034,0x00000000,0x00000000) Its a really big problem
to get more output from it because it has no Serial Ports at all. We
tried to set /DEBUG DEBUGPORT=SCREEN /SOS but nothing shows up. So if
someone finds a possible reason for that regression or a nice way to get
the needed debuggin Information, plz tell me. It would be very important
to get ROS run on it again.
Machine is a:
Acer Extensa 4100 wmli / Aspire 1690 wmli
Acer Crane Mainboard
Intel Pentium III Mobile CPU
ATI Mobility Radeon X700
1 GB DDR RAM
Thx for the help.
Hi Gurus,
Like to know whether we have Sound Support for React OS.
If not is there any development going on for this?
Can you give me the contact of the person who is working on
incorporating / maintaining sound support in React OS?
Kind Regards
Arko
Hi all,
Just that this doesn't get lost, trunk's broken in two ways:
1) after 45640 you get the "CMP_WaitNoPending..." in 2nd stage in vbox being unable to proceed. Bug 4142: http://www.reactos.org/bugzilla/show_bug.cgi?id=4142
2) after 45645 installation stops at 1st stage with an assert:
Assertion 'GuardedMutex->Owner != Thread' failed at ntoskrnl\include\/internal/k e_x.h line 1596
Entered debugger on embedded INT3 at 0x0008:0x808dc52e.
kdb:> PuTTYbt
Eip:
<ntoskrnl.exe:dc52f (lib\rtl\i386\debug_asm.S:33 (DbgBreakPoint@0))>
Frames:
<ntoskrnl.exe:9aaa4 (ntoskrnl/include//internal/ke_x.h:1596 (MmNotPresentFault@1 2))>
<ntoskrnl.exe:9b6e3 (ntoskrnl/mm/mmfault.c:298 (MmAccessFault@16))>
<ntoskrnl.exe:66fb (ntoskrnl/ke/i386/traphdlr.c:1132 (@KiTrap0EHandler@4))>
<ntoskrnl.exe:1b21c (ntoskrnl/cc/view.c:463 (CcRosLookupCacheSegment@8))>
<ntoskrnl.exe:ac31a (ntoskrnl/mm/section.c:1251 (MmNotPresentFaultSectionView@16 ))>
<ntoskrnl.exe:9adb9 (ntoskrnl/mm/mmfault.c:219 (MmNotPresentFault@12))>
<ntoskrnl.exe:9b6e3 (ntoskrnl/mm/mmfault.c:298 (MmAccessFault@16))>
<ntoskrnl.exe:66fb (ntoskrnl/ke/i386/traphdlr.c:1132 (@KiTrap0EHandler@4))>
<b085a008>
<ntoskrnl.exe:601e
<ntoskrnl.exe:6412 (ntoskrnl/ke/i386/traphdlr.c:1517 (@KiFastC allEntryHandler@8))>
<00000000>
kdb:>
Thanks.
_________________________________________________________________
La tua privacy è al sicuro con Internet Explorer 8. Scopri di più
http://www.microsoft.com/italy/windows/internet-explorer/features/browse-pr…
FYI!
I noticed a strange bug when working with OOo 2.4.3 after installing
and running writer, then closing it, there was a random crash! This
resulted in a hive corruption crash leaving the system unbootable! The
only change I did was svn up trunk to the current revision 45668. Last
revision was something bootable before 45640. The changes I've commit
have been tested for over two weeks and some new ones this week.
Thanks,
James
Are these our services and if so do you have a note of which ones?
-----Original Message-----
From: ros-diffs-bounces(a)reactos.org [mailto:ros-diffs-bounces@reactos.org] On Behalf Of ekohl(a)svn.reactos.org
Sent: 20 February 2010 23:11
To: ros-diffs(a)reactos.org
Subject: [ros-diffs] [ekohl] 45640: Partially revert patches 45626 and 45633. Several services do not report their status to the service manager properly. Therefore we must not use any code that relies on service status information as part of the setup and boot pr
Author: ekohl
Date: Sun Feb 21 00:10:53 2010
New Revision: 45640
URL: http://svn.reactos.org/svn/reactos?rev=45640&view=rev
Log:
Partially revert patches 45626 and 45633.
Several services do not report their status to the service manager properly. Therefore we must not use any code that relies on service status information as part of the setup and boot processes as long as these issues have not been fixed. The service manager still needs to provide fake information about the service status.
Modified:
trunk/reactos/base/system/services/database.c
trunk/reactos/dll/win32/syssetup/install.c
Modified: trunk/reactos/base/system/services/database.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/system/services/datab…
==============================================================================
--- trunk/reactos/base/system/services/database.c [iso-8859-1] (original)
+++ trunk/reactos/base/system/services/database.c [iso-8859-1] Sun Feb 21 00:10:53 2010
@@ -1054,7 +1054,7 @@
{
Group->ServicesRunning = TRUE;
}
- Service->Status.dwCurrentState = SERVICE_START_PENDING;
+ Service->Status.dwCurrentState = SERVICE_RUNNING;
}
#if 0
else
Modified: trunk/reactos/dll/win32/syssetup/install.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/install…
==============================================================================
--- trunk/reactos/dll/win32/syssetup/install.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/syssetup/install.c [iso-8859-1] Sun Feb 21 00:10:53 2010
@@ -473,34 +473,17 @@
static BOOL
EnableUserModePnpManager(VOID)
{
- SERVICE_STATUS_PROCESS ServiceStatus;
SC_HANDLE hSCManager = NULL;
SC_HANDLE hService = NULL;
- DWORD dwStartTickCount;
- DWORD dwOldCheckPoint;
- DWORD BytesNeeded = 0;
- DWORD dwWaitTime;
- DWORD dwMaxWait;
- HANDLE hEvent;
BOOL ret = FALSE;
- hEvent = OpenEventW(EVENT_ALL_ACCESS,
- FALSE,
- L"SC_AutoStartComplete");
- if (hEvent == NULL)
- goto cleanup;
-
- WaitForSingleObject(hEvent, INFINITE);
-
- hSCManager = OpenSCManager(NULL,
- NULL,
- SC_MANAGER_CONNECT);
+ hSCManager = OpenSCManager(NULL, NULL, 0);
if (hSCManager == NULL)
goto cleanup;
hService = OpenServiceW(hSCManager,
L"PlugPlay",
- SERVICE_CHANGE_CONFIG | SERVICE_START | SERVICE_QUERY_STATUS);
+ SERVICE_CHANGE_CONFIG | SERVICE_START);
if (hService == NULL)
goto cleanup;
@@ -515,69 +498,9 @@
ret = StartServiceW(hService, 0, NULL);
if (!ret)
- {
- /* If the service is already running, just return TRUE */
- ret = GetLastError() == ERROR_SERVICE_ALREADY_RUNNING;
goto cleanup;
- }
-
- ret = QueryServiceStatusEx(hService,
- SC_STATUS_PROCESS_INFO,
- (LPBYTE)&ServiceStatus,
- sizeof(SERVICE_STATUS_PROCESS),
- &BytesNeeded);
- if (!ret)
- goto cleanup;
-
- /* We don't want to wait for more than 30 seconds */
- dwMaxWait = 30000;
- dwStartTickCount = GetTickCount();
-
- /* Loop until it's running */
- while (ServiceStatus.dwCurrentState != SERVICE_RUNNING)
- {
- dwOldCheckPoint = ServiceStatus.dwCheckPoint;
- dwWaitTime = ServiceStatus.dwWaitHint / 10;
-
- /* Get the latest status info */
- if (!QueryServiceStatusEx(hService,
- SC_STATUS_PROCESS_INFO,
- (LPBYTE)&ServiceStatus,
- sizeof(SERVICE_STATUS_PROCESS),
- &BytesNeeded))
- {
- /* Something went wrong... */
- break;
- }
-
- /* Is the service making progress? */
- if (ServiceStatus.dwCheckPoint > dwOldCheckPoint)
- {
- /* It is, get the latest tickcount to reset the max wait time */
- dwStartTickCount = GetTickCount();
- dwOldCheckPoint = ServiceStatus.dwCheckPoint;
- }
- else
- {
- /* It's not, make sure we haven't exceeded our wait time */
- if (GetTickCount() >= dwStartTickCount + dwMaxWait)
- {
- /* We have, give up */
- break;
- }
- }
-
- /* Adjust the wait hint times */
- if (dwWaitTime < 200)
- dwWaitTime = 200;
- else if (dwWaitTime > 10000)
- dwWaitTime = 10000;
-
- /* Wait before trying again */
- Sleep(dwWaitTime);
- }
-
- ret = ServiceStatus.dwCurrentState == SERVICE_RUNNING;
+
+ ret = TRUE;
cleanup:
if (hSCManager != NULL)
The point was made on IRC, if we are having issues, "I'll just have to
use arwinss then". This was in reference to the region leak. We see
the leak due to the compatibility of ReactOS. We use tools from the
"Net" to examine the GDI handle counts. Might I add a point, these
tools are written for Windows. ;^) How do we really know that the same
leak does not occur with arwinss. Are there tools to measure this? Are
there checks in wine to make sure wine does not exceed a limit? So
far, from the patches added to arwinss from ReactOS, there are
limitations to the use of wine. These same patches have been added to
ReactOS after porting wine. Is it safe to assume, we have these same
limitations in ReactOS? Can we help that we use wine 24/7 when we
sync/port from wine? ReactOS has the same bugs if we do. Over and over
this has been the issue in the past.
Pick on someone else for this leak, I'm not looking for it anymore,
James
There was a leak before I started to fix it. Bug 4980
Hello,
the trunk is locked to find and fix regressions introduced since
January, 2010.
Members of the bugfixing team are: sir_richard, Physicus, me.
If someone else volunteers - please let me know, I will add you to
the committers list.
WBR,
Aleksey Bragin.
Hi for all the ReactOS community, soon brings near to him the FLISOL2010
and want to take the CD that appears in the ReactOS page, since the
discharge from tub makes to him impossible for the limited bandwidth that
has in the island...
Please if some interested party in collaborating, it need a CD that it
contains the operative system ( in Spanish ), the source code of ReactOS
and some manuals ( in Spanish )...
I, will make oneself responsible for make copy them and distribute it for
the happening, in order that the Cuban community that has not access to
the Internet can obtain " the alternative of Windows ".
They can me write directly to my address of post: raul08012(a)cha.jovenclub.cu
R++
Hi,
One big regression has been detected due to the HAL changes:
Scenario: Real Hardware. One CDROM attached to IDE in Slave Mode in its own.
What happens: It bugchecks since 45324.Latest working revision known 45319.
DebugLog: http://www.reactos.org/paste/index.php/6511/
Reporter: Caemyr.
Suspicious revisions in the range (45319-45324):
45320: [HAL]: Rewrite IRQL handling. (sir_richard)
45324: [HAL]: fix HalEndSystemInterrupt prototype.(spetreolle)
Also there are users reporting problems(maybe not related) with CDRom under Vbox.
Please look at it.
Thanks :)
PS: Sorry for double posting.But i prefer this in a new thread.
_________________________________________________________________
Los auténticos Hotmail y Messenger en tu Blackberry con Movistar. ¡Descárgatelos ya!
http://serviciosmoviles.es.msn.com/messenger/blackberry.aspx
Hi folks,
Finally, the new version 1.5 of the ReactOS Build Environment has been
finished. The new releases for Windows and Unix are available at
http://reactos.org/wiki/Build_Environment.
With the new version, we're finally moving to newer toolchain versions
(Binutils 2.20.51-20091222, GCC 4.4.3).
These allow us to get rid of many old hacks, but also require some new
modifications to the source. Unfortunately, these changes are incompatible
to our current build environment, so the update to 1.5 is mandatory.
I've also taken the chance to get rid of some other hacks, which had
required a united TRUNK and RosBE update (like calling the makefile
"makefile.auto" instead of "makefile-i386.auto" just for the i386
architecture).
The patch for these changes is available at
http://www.reactos.org/bugzilla/show_bug.cgi?id=4810 and was tested and
improved for months now.
I've been told to commit it very soon to not delay the migration to RosBE
1.5 once again. Therefore, please prepare yourselves with the new RosBE as
soon as possible.
Best regards,
Colin
Hi,
sir_richard(a)svn.reactos.org a écrit :
> Author: sir_richard
> Date: Tue Feb 9 04:05:49 2010
> New Revision: 45525
>
> URL: http://svn.reactos.org/svn/reactos?rev=45525&view=rev
> Log:
> [MISC]: Build fixes to sync up with latest changes.
> [SETUPLDR]: Do not build on ARM. On a side note, I offer a bountry for "if ARCH != ARM" support in .rbuild files, instead of only allowing ==.
>
I think <ifnot property="ARCH" value="arm"> ... </ifnot> will fit your needs
Hervé
No doubt the new code is a huge advantage over the old code. Still there
are some issues in my opinion.
Currently the trap handlers are generated inside C code by a macro
called KiTrap(), located in trap_x.h.
This macro creates a C function, that uses KiTrapStub inline function to
create the actual entry stub. KiTrapStub is 90% pure gcc inline assembly.
At the end it does a jmp to the real C handler.
Most C handlers will start processing with an inline function
KiEnterTrap, which is C code with inline assembly functions like
KiSetSaneSegments, Ke386GetFs. KiTrap06Handler/Trap0DHandler are
exceptions, they use KiIsV8086TrapSafe to determine in inline assembly
if we have a v86 trap.
In this case KiEnterV86Trap is used instead of KiEnterTrap. KiTrap02 is
also an exception, it's a pure C handler
Now what's wrong?
1.) The gcc inline assembly is very compiler specific and MSVC
unfriendly. The old method using GAS specific asm files was at least
linkable with MSVC code. The new code needs porting.
2.) The current C code makes assumptions about what the compiler will
do, ignoring the ABI, which requires that you do not change ds/es in C
code, not even temporarily and that the direction flag is clear on
function entry. The compiler might at any place use ds/es for whatever
it likes. It must be a valid flat segment. Only using stack variables
might work on the current gcc, but might fail on other compilers. A good
example would be MSVC's use of __security_cookie, which is referenced on
function entry through ds. I remember that not having cleared the
direction flag in a trap handler caused strange random bugs in the past,
we should avoid making this mistake again. KiTrapStub even changes esp
inside C code (in cases where the function is entered without valid esp)
Suggested modifications:
Implement the trap entry functions in a pure assembly file, using
assembly macros which would combine KiTrapStub and the segment handling
part of KiEnterTrap.
Trap exit could possibly be done this way as well. On the amd64 branch
the C handlers return a status value back to the assembly stub, but a
jump or call could be done as well.
It would be possible to use ML for these assembly files as well. This
works fine in the amd64 branch.
Also strictly stick to C ABI instead of using compiler extensions and
making assumptions about how the compiler works.
It would improve portability, make the code safe and also more readable.
And we would not really add more assembly, just move the current inline
assembly to a pure assembly file.
Possible performance disadvantages: I don't see any. We might end up
with a jmp or call instruction more, but we can possibly safe this
somewhere else.
And maybe finally someone deletes the disgusting Ke386SetDs()... ;-)
Regards,
Timo
Hmm... either his email address is invalid, the server is playing up or it
filters out UK addresses...
---------- Forwarded message ----------
From: Mail Delivery System <Mailer-Daemon(a)jovenclub.cu>
Date: Fri, Feb 5, 2010 at 6:58 PM
Subject: Mail delivery failed: returning message to sender
To: ajfweb(a)googlemail.com
This message was created automatically by mail delivery software.
A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:
cl2raul(a)cha.jovenclub.cu
SMTP error from remote mail server after RCPT TO:<
cl2raul(a)cha.jovenclub.cu>:
host 192.168.54.3 [192.168.54.3]: 550 5.1.1 <cl2raul(a)cha.jovenclub.cu>:
Recipient address rejected: User unknown in local recipient table
------ This is a copy of the message, including all the headers. ------
Return-path: <ajfweb(a)googlemail.com>
Received: from [192.168.250.1] (helo=mx1.jovenclub.cu)
by tinored.jovenclub.cu with esmtp (Exim 4.63)
(envelope-from <ajfweb(a)googlemail.com>)
id 1NdTNq-000HgO-6D
for cl2raul(a)cha.jovenclub.cu; Fri, 05 Feb 2010 18:58:26 +0000
Received: from mailnull by mx1.jovenclub.cu with spam-scanned (Exim 4.63
(FreeBSD))
(envelope-from <ajfweb(a)googlemail.com>)
id 1NdTNq-000IDE-7k
for cl2raul(a)cha.jovenclub.cu; Fri, 05 Feb 2010 18:58:28 +0000
X-Spam-Checker-Version: SpamAssassin 3.1.6 (2006-10-03) on mx1.jovenclub.cu
X-Spam-Level:
X-Spam-Status: No, score=-1.2 required=4.0 tests=ALL_TRUSTED,HTML_MESSAGE,
MAILTO_TO_SPAM_ADDR autolearn=ham version=3.1.6
Received: from mail-pz0-f182.google.com ([209.85.222.182])
by mx1.jovenclub.cu with esmtp (Exim 4.63 (FreeBSD))
(envelope-from <ajfweb(a)googlemail.com>)
id 1NdTNn-000ICP-09
for cl2raul(a)cha.jovenclub.cu; Fri, 05 Feb 2010 18:58:26 +0000
Received: by pzk12 with SMTP id 12so4356424pzk.13
for <cl2raul(a)cha.jovenclub.cu>; Fri, 05 Feb 2010 10:58:55 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=googlemail.com; s=gamma;
h=domainkey-signature:mime-version:received:in-reply-to:references
:from:date:message-id:subject:to:content-type;
bh=Qjk7GMbRPg6inIkmDQ9DobZkrya+x133yYcrqGKOV/s=;
b=E7Ib+hPZq0DnQoANH+Nm+wXSRntTlNmh6rFqQQzQl9/mUB4U/lfGq2/2DAeL/3CSi4
qDexVPr9cJgfYJQgbrWenSF0AStaHKKPXnx8cLdXbgmTKuS/NxH3vp1wTE1PJmWwEA71
1OWpVC6onFv/M3rFvazpXkBl5Qj7IJk1wr7Hw=
DomainKey-Signature: a=rsa-sha1; c=nofws;
d=googlemail.com; s=gamma;
h=mime-version:in-reply-to:references:from:date:message-id:subject:to
:content-type;
b=iY13PwPYzh1Na4Qq70qyWEjChhA0VmqlvPgD9zjgwXB+PtIWJzISeq/Fa928RmuhLb
y1mOwDTK3ucwm6AZ03TdGRwUV87eHbPn8AW16r8gdvIbzn6cPg8g+p6dBk9B9jP5YrCv
hQY2IrCYgkLpRmsV1iyzmhxm0EJ4NDBHnP3Gc=
MIME-Version: 1.0
Received: by 10.141.90.15 with SMTP id s15mr2119324rvl.137.1265396333097;
Fri,
05 Feb 2010 10:58:53 -0800 (PST)
In-Reply-To: <
41245.192.168.54.4.1265395610.squirrel(a)webmail.cha.jovenclub.cu>
References: <41245.192.168.54.4.1265395610.squirrel(a)webmail.cha.jovenclub.cu
>
From: Andrew Faulds <ajfweb(a)googlemail.com>
Date: Fri, 5 Feb 2010 18:58:33 +0000
Message-ID: <bac4c08c1002051058i494abe2oe655dd2a5ab4c9f1(a)mail.gmail.com>
Subject: Re: [ros-dev] FLISOL 2010
To: cl2raul(a)cha.jovenclub.cu, ReactOS Development List <ros-dev(a)reactos.org>
Content-Type: multipart/alternative; boundary=000e0cd1124eef34f0047edf0ac2
--000e0cd1124eef34f0047edf0ac2
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Please do bear in mind ReactOS is in ALPHA, i.e. not suitable for normal
use.
If you want such a CD, my advice would be to download the debug version of
reactos from the website and source code then burn the two files (the ISO
and the zip file) to a CD.
ReactOS has one CD if I remember correctly, that does all languages (If I'm
wrong please correct me)
Also, AFAIK ReactOS has no manuals, it has SOME documentation in the wiki,
but overall it lacks much documentation.
2010/2/5 Ra=FAl Avila Catal=E1 <raul08012(a)cha.jovenclub.cu>
> Hi for all the ReactOS community, soon brings near to him the FLISOL2010
> and want to take the CD that appears in the ReactOS page, since the
> discharge from tub makes to him impossible for the limited bandwidth that
> has in the island...
>
> Please if some interested party in collaborating, it need a CD that it
> contains the operative system ( in Spanish ), the source code of ReactOS
> and some manuals ( in Spanish )...
>
> I, will make oneself responsible for make copy them and distribute it for
> the happening, in order that the Cuban community that has not access to
> the Internet can obtain " the alternative of Windows ".
>
> They can me write directly to my address of post:
> raul08012(a)cha.jovenclub.cu
>
>
> R++
>
>
> _______________________________________________
> Ros-dev mailing list
> Ros-dev(a)reactos.org
> http://www.reactos.org/mailman/listinfo/ros-dev
>
--000e0cd1124eef34f0047edf0ac2
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Please do bear in mind ReactOS is in ALPHA, i.e. not suitable for normal us=
e.<br>If you want such a CD, my advice would be to download the debug versi=
on of reactos from the website and source code then burn the two files (the=
ISO and the zip file) to a CD.<br>
<br>ReactOS has one CD if I remember correctly, that does all languages (If=
I'm wrong please correct me)<br><br>Also, AFAIK ReactOS has no manuals=
, it has SOME documentation in the wiki, but overall it lacks much document=
ation.<br>
<br><div class=3D"gmail_quote">2010/2/5 Ra=FAl Avila Catal=E1 <span dir=3D"=
ltr"><<a href=3D"mailto:raul08012@cha.jovenclub.cu">raul08012(a)cha.jovenc=
lub.cu</a>></span><br><blockquote class=3D"gmail_quote" style=3D"margin:=
0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left=
: 1ex;">
Hi for all the ReactOS community, soon brings near to him the FLISOL2010<br=
>
and want to take the CD that appears in the ReactOS page, since the<br>
discharge from tub makes to him impossible for the limited bandwidth that<b=
r>
has in the island...<br>
<br>
Please if some interested party in collaborating, it need a CD that it<br>
contains the operative system ( in Spanish ), the source code of ReactOS<br=
>
and some manuals ( in Spanish )...<br>
<br>
I, will make oneself responsible for make copy them and distribute it for<b=
r>
the happening, in order that the Cuban community that has not access to<br>
the Internet can obtain " the alternative of Windows ".<br>
<br>
They can me write directly to my address of post: <a href=3D"mailto:raul080=
12(a)cha.jovenclub.cu">raul08012(a)cha.jovenclub.cu</a><br>
<br>
<br>
R++<br>
<br>
<br>
_______________________________________________<br>
Ros-dev mailing list<br>
<a href=3D"mailto:Ros-dev@reactos.org">Ros-dev(a)reactos.org</a><br>
<a href=3D"http://www.reactos.org/mailman/listinfo/ros-dev" target=3D"_blan=
k">http://www.reactos.org/mailman/listinfo/ros-dev</a><br>
</blockquote></div><br>
--000e0cd1124eef34f0047edf0ac2--
Since this is true and the ros-amd64-bringup tree is up to date with
the region and WND code I committed without the assumed fixes to the
region leaks in my working tree,,,,,,,,,,, Also to note I was looking
for a ghost,,,,, wasting my TIME!,,,,
Is it possible to build ros-amd64-bringup in 32 bit mode?
So,,,,, I can continue my work and commit my updates to head knowing
I'm not the FFFf ff uf problem!
FYFI: I just finished a point to point compare and the only
differences are kernel changes!
Thanks,
James
On Thu, Feb 4, 2010 at 10:05 PM, <tkreuzer(a)svn.reactos.org> wrote:
> Author: tkreuzer
> Date: Fri Feb 5 04:05:51 2010
> New Revision: 45433
>
> URL: http://svn.reactos.org/svn/reactos?rev=45433&view=rev
> Log:
> [NTOS]
> On MSVC implement _lgdt, __sgdt, __lldt, __sldt, __ltr and __str as assembly functions, because there is no inline assembly.
> The MSVC/ML64 built kernel now boots and WinDbg connects.
And there was much rejoicing ;)
--
Steven Edwards
"There is one thing stronger than all the armies in the world, and
that is an idea whose time has come." - Victor Hugo
Dear core developers of Reactos,
I Am very nicely surpriced by The fact, that so complex project like developing new operating system from scratch based on Windows XP kernel and API functions calls exists. I tried to install The Reactos and i can tell You, that even visually impaired user can install Reactos to The empty computer harddrive without need to even make unattended installation. I was able to successfully install Reactos operating system to my computer.
I Am now solving issue, how to install The driver for my sound cart when many functions of Reactos are for now only accessible with mouse. So please, if Reactos device manager is reporting, That The sound device is working correctly, but only multimedia adapter list item is presenting my Soundmax integrated digital audio sound cart, it do not means, that Reactos can automatically use this eevice without need to add The driver?
I tried to install The driver by using The setup program provided with The driver, i unfortunately have got a error message, that setup has occurred an error and must be closed. Please check, if another instance of setup is not active.
By using add new hardware wizard, could i install The driver by specifiing The exact location for this driver?
It is The WDM based driver for Soundmax digital integrated audio, which is build in The motherboard of The IBM Thinkpat 2668.
I would like to know, if Microsoft Active accessibility standards could be implemented on The future during developing Reactos. I found out, that oleacc.dll is being presented and is The part of The Reactos installation. But i do not know, if You could implement MSAA standarts, because knowing The API functions and The object methods and properties will not be probably enough to ensure, that MSAA standarts would work.
I would like to test some screen reader, which is based on using API calls and by using MSAA calls, but i do not know, if it is implemented.
My problems is now to add sound cart driver to test this.
I Am advanced user with some advanced system administration knowledge, i know Windows operating systems starting with Windows for Workgroups 3.11 to Windows XP Professional. I can use Linux distributions to copy some needed files to The partition, where Reactos has been installed. I can even find necessary debug logs and send them as AN E-mails by using Linux distribution.
Linux distro could help me in The situations, when Reactos can not give me some feetback.
Installing sound driver manually by using registry editor is not easy task and i can not perform it without screen reader support.
I Am surpriced by The stability of Reactos. Eventhough some API calls are not awailable for now, The kernel is very stable and i have never got some crash dialog Window informing me, that application has crashed, sorry for any problems.
If You would try to think about implementation of MSAA, many visually impaired users would be very very glad because of it.
And later, what about triing to implement some hod keys for controlling The user interface and for controlling The Explorer?
Thank you very much, i Am ready for debugging and testing The Reactos.
PS:
I have never able to install and run Windows XP so quickly, without using Nlite program, which is able to modifi setup.sif file and some other files on Windows XP installation CD, i would never been able to perform The installation of commercial Windows XP myself. Only with Reactos, i could perform this without stress and without need to use some other external utility.
I AM also very very glad, that Reactos is even able to work as a live CD.
And here are some links for downloading freeware or opensource screen readers, which are fully compatible with Windows Xp and are not based on Display chaining manager DCM, which is too complex to implement even on future for You. Those screen readers are based on using API calls and on using MSAA standarts.
Unfortunately, NVDA will not work, because some important libraryes are not The part of The installation of Reactos. It is probably wrong idea triing to mix original libraries from Microsoft with Yours operating system, because i think, that it could cause some confuses and often crashes.
Because i can really constructively cooperate with You, i will send You The list of libraryes, on which NVDA screen reader is depend on.
And here is The direct link for downloading latest stable version of NVDA, which do not have to be installed, You can only unzip it and place it on some directory on Yours Reactos installation.
http://www.nvda-project.org/download/releases/nvda_2009.1_portable.exe
I Am recommending You to join to The NVDA development mailing list. YOu will need to have YOur sound drivers properly configured. NVDA screen reader is by The default triing to load included Espeak speech synthesizer, which is The part of NVDA package. This speech synthesizer is written by using Microsoft Visual C++ express 2005, and The original source code of this speech synthesizer variant for WIndows has been modified so this synthesizer is not working like The SAPI5 compatible speech synthesizer, but like a Activex library, which can be called from NVDA.
Espeak will very probably depend on wdmaud.drv and NVDA is also using winmm.dll library.
The list of dlls, which NVDA is using will be sended on The separate E-mail.
PS:
Please, try to allow visually impaired computer users to use freeware and fully functional operating system, which is based on standarts of WIndows XP and 2003. If MSAA standarts are too complex to develope from scrath for You to prevent random crashes while using Yours future new dlls, which would come out from this standarts, i will understand it. You are working on very, very complex project while using legally obtained technical information from various sources.
PS:
I know, that it is not possible to use products, which are developed by Microsoft on other operating system, that on original operating system from Microsoft, so triing to donwload WIndows Internet Explorer 8.0 and triing to use it with Reactos will probably not be legal.
But if it is so, never mind. There is Mozilla Firefox WEB browser, which is working with NVDA screen reader very nicely, and also Opera WEB browser is able to provide some accessibility support for visually impaired computer users.
And Openoffice ORG is also working very nicely.
But for now, i would atleast like to try, if NVDA can speak atleast somethink or if many API calls are not presented.
Thank You for cooperation with me.
With kindness regards.
Janusz Chmiel
Dear developers of Reactos,
As i promised in my previous E-mail, i AM sending You The list of dlls, on which NVDA screen reader is strictly depend and without them will not work.
Thank You for any feetback provided.
OLEAUT32.dll - C:\WINDOWS\system32\OLEAUT32.dll
USER32.dll - C:\WINDOWS\system32\USER32.dll
POWRPROF.dll - C:\WINDOWS\system32\POWRPROF.dll
SHELL32.dll - C:\WINDOWS\system32\SHELL32.dll
ole32.dll - C:\WINDOWS\system32\ole32.dll
WINMM.dll - C:\WINDOWS\system32\WINMM.dll
WSOCK32.dll - C:\WINDOWS\system32\WSOCK32.dll
COMDLG32.dll - C:\WINDOWS\system32\COMDLG32.dll
ADVAPI32.dll - C:\WINDOWS\system32\ADVAPI32.dll
msvcrt.dll - C:\WINDOWS\system32\msvcrt.dll
WS2_32.DLL - C:\WINDOWS\system32\WS2_32.DLL
GDI32.dll - C:\WINDOWS\system32\GDI32.dll
VERSION.dll - C:\WINDOWS\system32\VERSION.dll
KERNEL32.dll - C:\WINDOWS\system32\KERNEL32.dll
COMCTL32.dll - C:\WINDOWS\system32\COMCTL32.dll
RPCRT4.dll - C:\WINDOWS\system32\RPCRT4.dll
Extracting all API calls from NVDA source code written in Python will not be easy task, and extracting those calls from source code written in C language for several helper libraryes will not be asy to.
Hello everybody,
After some more updates, fixes and strange problems, Daniel and I finally
released new RCs of RosBE-Windows and RosBE-Unix 1.5.
Daniel published a changelog for the Windows version at
http://dreimer.de.vu.
The Unix version fixes building problems on many hosts, especially 64-bit
ones. Like RosBE-Windows, it also includes updated tools such as GCC 4.4.3.
Besides, all supplied libraries are guaranteed to contain STABS+ symbols
useful for debugging with e.g. GDB. Finally, make/makex now reports the
correct return value instead of always 0 :-)
You can download RosBE-Windows 1.5-RC4 and RosBE-Unix 1.5-RC2 at
http://reactos.colinfinck.de.
Please test out both of them using the latest code patch at
http://www.reactos.org/bugzilla/show_bug.cgi?id=4810, so that we can move to
RosBE 1.5 and GCC 4.4.x soon.
For the Unix version, I'm especially looking for testers using non-Linux
operating systems such as Mac OS X or FreeBSD. Current RosBE works well on
them, but the previous RC made problems.
Best regards,
Colin
This change keeps the ability to plug GDB into ReactOS and fixes libxlst.
It also fixes bootcd with Rosbe 1.5 trunk builds.
With -g0 enabled in RosBE-Unix 1.5 instead of STABS+,
previous builds of bootcd used to fail to allocate memory and crash.
Kind regards,
Sylvain Petreolle
This is really interesting. It'd be great to have this up in testman somehow.
-----Original Message-----
From: ros-diffs-bounces(a)reactos.org [mailto:ros-diffs-bounces@reactos.org] On Behalf Of sir_richard(a)svn.reactos.org
Sent: 28 January 2010 15:51
To: ros-diffs(a)reactos.org
Subject: [ros-diffs] [sir_richard] 45297: [PERF]: Not in any way a scientific number you should bet the farm on, but we do now count the number of cycles at the very first instruction of kernel initialization, at the moment SMSS initializes the registry (when we c
Author: sir_richard
Date: Thu Jan 28 16:51:18 2010
New Revision: 45297
URL: http://svn.reactos.org/svn/reactos?rev=45297&view=rev
Log:
[PERF]: Not in any way a scientific number you should bet the farm on, but we do now count the number of cycles at the very first instruction of kernel initialization, at the moment SMSS initializes the registry (when we call kernel initialization complete), and at the moment there have been 12 processes created (10 without counting idle/system), which is a bit less than a normal GUI boot. We also display the number if interrupts, system calls, and context switches it took to get us there. A purely comparative number, perhaps worthy for inclusion in testman/regression tests?
Modified:
trunk/reactos/ntoskrnl/config/ntapi.c
trunk/reactos/ntoskrnl/include/internal/ke.h
trunk/reactos/ntoskrnl/ke/i386/kiinit.c
trunk/reactos/ntoskrnl/ps/process.c
Modified: trunk/reactos/ntoskrnl/config/ntapi.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/config/ntapi.c?re…
==============================================================================
--- trunk/reactos/ntoskrnl/config/ntapi.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/config/ntapi.c [iso-8859-1] Thu Jan 28 16:51:18 2010
@@ -890,6 +890,14 @@
/* Always do this as kernel mode */
if (KeGetPreviousMode() == UserMode) return ZwInitializeRegistry(Flag);
+ /* Enough of the system has booted by now */
+ BootCyclesEnd = __rdtsc();
+ DPRINT1("Boot took %I64d cycles!\n", BootCyclesEnd - BootCycles);
+ DPRINT1("Interrupts: %d System Calls: %d Context Switches: %d\n",
+ KeGetCurrentPrcb()->InterruptCount,
+ KeGetCurrentPrcb()->KeSystemCalls,
+ KeGetContextSwitches(KeGetCurrentPrcb()));
+
/* Validate flag */
if (Flag > CM_BOOT_FLAG_MAX) return STATUS_INVALID_PARAMETER;
Modified: trunk/reactos/ntoskrnl/include/internal/ke.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/include/internal/…
==============================================================================
--- trunk/reactos/ntoskrnl/include/internal/ke.h [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/include/internal/ke.h [iso-8859-1] Thu Jan 28 16:51:18 2010
@@ -139,6 +139,8 @@
extern ULONG KiFreezeFlag;
extern ULONG KiDPCTimeout;
extern PGDI_BATCHFLUSH_ROUTINE KeGdiFlushUserBatch;
+extern ULONGLONG BootCycles, BootCyclesEnd;
+extern ULONG ProcessCount;
/* MACROS *************************************************************************/
Modified: trunk/reactos/ntoskrnl/ke/i386/kiinit.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ke/i386/kiinit.c?…
==============================================================================
--- trunk/reactos/ntoskrnl/ke/i386/kiinit.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/ke/i386/kiinit.c [iso-8859-1] Thu Jan 28 16:51:18 2010
@@ -24,6 +24,10 @@
/* Spinlocks used only on X86 */
KSPIN_LOCK KiFreezeExecutionLock;
KSPIN_LOCK Ki486CompatibilityLock;
+
+/* Perf */
+ULONG ProcessCount;
+ULONGLONG BootCycles, BootCyclesEnd;
/* FUNCTIONS *****************************************************************/
@@ -683,6 +687,9 @@
PKTSS Tss;
PKIPCR Pcr;
+ /* Boot cycles timestamp */
+ BootCycles = __rdtsc();
+
/* Check if we are being booted from FreeLDR */
if (!((ULONG_PTR)LoaderBlock & 0x80000000)) KiRosPrepareForSystemStartup((PROS_LOADER_PARAMETER_BLOCK)LoaderBlock);
Modified: trunk/reactos/ntoskrnl/ps/process.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ps/process.c?rev=…
==============================================================================
--- trunk/reactos/ntoskrnl/ps/process.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/ps/process.c [iso-8859-1] Thu Jan 28 16:51:18 2010
@@ -843,6 +843,18 @@
/* Run the Notification Routines */
PspRunCreateProcessNotifyRoutines(Process, TRUE);
+
+ /* If 12 processes have been created, enough of user-mode is ready */
+ if (++ProcessCount == 12)
+ {
+ /* Enough of the system has booted by now */
+ BootCyclesEnd = __rdtsc();
+ DPRINT1("User Boot took %I64d cycles!\n", BootCyclesEnd - BootCycles);
+ DPRINT1("Interrupts: %d System Calls: %d Context Switches: %d\n",
+ KeGetCurrentPrcb()->InterruptCount,
+ KeGetCurrentPrcb()->KeSystemCalls,
+ KeGetContextSwitches(KeGetCurrentPrcb()));
+ }
CleanupWithRef:
/*
I wonder if I could get in touch with the folks doing the ARM port...
Executive summary: From a look at the code I think ARM ReactOS uses SWIs
(syscalls) numbered from zero. There's a de-facto ARM standard that splits
up SWI numbering so different OSs get allocated different numbering ranges.
It would be handy if ReactOS could pick one that doesn't clash with other
OSs. I wondered if the ARM port folks might consider changing SWI base at
some point.
For more details, a brief history lesson. The ARM1 and ARM2 chips were
originally developed at Acorn Computers in 1983-7. The first ARM machine
was the Archimedes, launched by Acorn in 1987. The Archimedes was supplied
with Arthur, which in 1988 became RISC OS, a co-operatively multitasking OS.
RISC OS is still around and runs on modern hardware such as the BeagleBoard
- see http://www.riscosopen.org/
SWI instructions on the ARM have a 24 bit 'comment' field. As originally
envisaged this would hold the syscall number, a bit like INT on x86 and TRAP
on 68k.
Acorn for their OSs (and there were no other ARM OSs at the time) chose a
numbering scheme where bits 20-23 denote the OS. For the ones I know about:
23--20
0000 RISC OS
1000 RISC iX (4.3 BSD ported to ARM2/3)
1001 Formerly Linux (they've now don't use the comment field)
1111 ARM's OS independent routines
And NetBSD use another value that I forget.
The advantage of having non-overlapping SWI bases is that it allows
cross-platform execution of binaries (a bit like WINE in effect, though I
don't know the details of how WINE works). So it means RISC OS code (of
which there is lots) could run on ReactOS, or vice versa, if somebody writes
a syscall implementation for the other platform.
So I wondered if there was any interest in making sure the syscall numbers
didn't clash with other OSs? From what I see in:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ke/arm/usercall.c…
it looks like your SWIs are numbered from zero, which is a clash.
If you were interested in changing, do you have any idea how many SWIs you
might use? RISC OS uses hundreds of thousands (SWIs are used as the
interface to DLL-like code), but if you were to only need, say, 2^16 that
might save the number space a bit.
Thoughts? Comments? Flames?
Thanks
Theo
dreimer(a)svn.reactos.org wrote:
> + if ("$ENV:ROS_AUTOMAKE" -eq "") {
> + $ENV:ROS_AUTOMAKE = "makefile-$ENV:ROS_ARCH.auto"
> + }
> [...]
That's not properly ported.
My script only sets these variables locally due to "setlocal", yours
permanently changes the environment variables. This will result in obvious
problems when ROS_ARCH is changed.
Don't know whether PS provides an equally elegant way to overwrite these
variables locally like Batch does ;-)
Best regards,
Colin