ReactOS官方 时事通讯 71 期!
reactos吧
全部回复
仅看楼主
level 8
acat1433 楼主
2010年04月23日 02点04分 1
level 8
acat1433 楼主
ReactOS官方 时事通讯 71 期!
原文地址:http://www.reactos.org/zh/newsletter_71.html
Newsletter 71
by Z98 on 2010-04-22
2010年04月23日 02点04分 2
level 8
acat1433 楼主
    Michael Martin has been working to implement these lower level components. Currently he has written a basic usbehci driver and is testing it by trying to replace the usbehci driver in Windows XP. Michael is reusing some code from the pvdrivers that are part of Xen, though there is a distinct limit to how much code is out there for such low level components. Few third parties have a need to implement something like this so much of the work has to be done from scratch. So far Michael has had some success getting the XP PnP manager to interact with his driver, though as the usbehci driver is only a single piece of the stack more time will be needed to get anything close to a complete stack.
2010年04月23日 02点04分 3
level 8
acat1433 楼主
被审核了。。。
请到原文地址里去看。
内容包括以下两个。
NT USB Stack
Build Tools
2010年04月23日 02点04分 4
level 8
acat1433 楼主
Build Tools
    When building the objects, the GCC compiler adds an underscore to the start of function signatures, with the linker expecting that underscore. This however prevents linking with objects generated by Microsoft's C/C++ compiler, which Timo Kreuzer wanted for his x64 branch. There is a configuration flag, -fno-leading-underscore, that keeps GCC from doing this, but it must also be passed to the linker and all libraries used must also be built with this flag. ReactOS makes use of several prebuilt C++ libraries in the build engine and they were originally not built with that flag. To fully fix the issue, as the binutils and GCC itself still were not correctly behaving even with the flag passed in, required some additional patches to those tools. Kai Tietz from the MinGW-w64 project helped provide the fixes, which allowed Timo Kreuzer to remove the hacks he had started adding to compensate for the problem.
    Besides working on the header reorganization, Amine Khaldi has been working diligently on Clang and LLVM to build ReactOS. There are a variety of bugs in Clang that prevents this right now and the report here is acting as an umbrella for the ones Amine has found so far. Two have been fixed so far and Amine has been in continued contact with the Clang developers about the other issues. Either way, having more options to compile ReactOS on is always a good thing. There has also been some discussion on the Clang/LLVM mailing lists on adding support for structured exception handling, which would be very helpful to ReactOS in the long term, as Microsoft's compiler is one of the few that actually supports SEH. Without some kind of SEH support, using Clang and LLVM to build ReactOS will be impossible. Porting the Portable SEH library written by KJK::Hyperion would also be an option, though the port would more or less be a rewrite as the mechanism used to achieve SEH would be different with Clang and LLVM.
2010年04月23日 02点04分 5
level 8
acat1433 楼主
NT USB Stack
   Pre-Vista, the USB architecture started with a very low level us
bp
ort driver. This driver was the one that created device objects for each USB controller and received I/O Request Packets (IRP). Depending on which USB standard the controllers were for, usbport would call into one of three helper drivers, usbehci, usbohci, and usbuhci. The one actually sending those IRPs was usbhub, and these components constitute the lower levels of the USB stack. The majority of USB drivers distributed by companies for their various peripherals sit on top of these and take advantage of a support library called usbd. Without the lower levels, proper USB client drivers won't work and this is what is meant by the developers when the current USB drivers are referred to as somewhat hacky.
2010年04月23日 05点04分 6
level 6
这个,USB不是可以用么?
这里分析的USB驱动模式就是厂商驱动在上层,NT的IO控制在最底层,等于什么都没说嘛…
2010年04月23日 06点04分 7
level 6
汗…刚回复完就审核出来一大票…
2010年04月23日 06点04分 8
level 6
后面提到了SEH,我根本没听说过这个东东…google了一下,SEH还真不是一般重要,SEH是structure exception handing,结构体异常处理,是编译器的一种库,内容完全是保密的,VC和borland都没有细致的说明,总之相当麻烦一个东西,通讯里面说的是“微软的编译器是少数“真正”支持SEH的编译器”,但是不可能用微软的编译器,reactos团队现在已经讨论在clang和LLVM里面加入这种支持。
2010年04月23日 07点04分 9
level 6
看来编译器确实是个大问题,比如这个SEH
2010年04月23日 07点04分 10
level 8
acat1433 楼主
结构化异常处理(Structured Exception Handling,SEH)是Windows操作系统处理程序错误或异常的技术。SEH是Windows操作系统的一种系统机制,与特定的程序设计语言无关。
    外壳程序里大量地使用了SEH,如果不了解SEH,将会使你跟踪十分困难。
原文地址在这里:
http://www.hack50.com/stu/sort092/sort0105/36193.html
2010年04月23日 09点04分 11
1