Hi Ali, Probably I had some problem in the gem5 repository I had, i got it working now, thanks..
Pritha On Wed, Feb 22, 2012 at 10:09 AM, Pritha Ghoshal <pritha9...@tamu.edu>wrote: > Hi Ali, > > Did you get an error which applying the patch: > patch failed, unable to continue (try -v) > patch failed, rejects left in working dir > errors during apply, please fix and refresh stable/patch_to_2.6.27.6.diff > > I had to use > hg qpush -a -v to actually apply the patches.. > > > Pritha > > > On Tue, Feb 21, 2012 at 8:43 PM, Ali Saidi <sa...@umich.edu> wrote: > >> >> wget >> http://www.kernel.org/pub/linux/kernel/v2.6/longterm/v2.6.27/linux-2.6.27.61.tar.bz2 >> tar jxvf linux-2.6.27.61.tar.bz2 >> cd linux-2.6.27.61/ >> ls >> hg init >> hg addrem >> hg commit >> cd .hg/ >> hg clone http://repo.gem5.org/linux-patches patches >> cd .. >> hg qselect 2.6.27 >> hg qunapplied >> vim .hg/patches/series >> hg qpush -a >> cp .config.m5 .config >> cd .. >> wget >> http://www.m5sim.org/dist/current/alphaev67-unknown-linux-gnu.tar.bz2 >> tar jxvf alphaev67-unknown-linux-gnu.tar.bz2 >> cd linux-2.6.27.61/ >> export PATH=$PATH:/tmp/alphaev67-unknown-linux-gnu/bin/ >> make -j8 ARCH=alpha CROSS_COMPILE=alphaev67-unknown-linux-gnu- vmlinux >> cd .. >> hg clone http://repo.gem5.org/gem5 gem5 >> cd gem5 >> scons build/ALPHA/gem5.opt -j8 >> vim configs/common/FSConfig.py # change NSGigE to IGbE_e1000 >> ./build/ALPHA/gem5.opt configs/example/fs.py >> --kernel=/tmp/linux-2.6.27.61/vmlinux -b NetperfStream >> >> <meanwhile on m5term> >> waiting for server...e1000: eth0: e1000_watchdog: NIC Link is Up 1000 >> Mbps Full Duplex, Flow Control: None >> server ready >> starting test... >> netperf warmup >> /benchmarks/netperf-bin/netperf -H 10.0.0.1 -t TCP_STREAM -l -100k >> TCP STREAM TEST to 10.0.0.1 : dirty data >> Recv Send Send >> Socket Socket Message Elapsed >> Size Size Size Time Throughput >> bytes bytes bytes secs. 10^6bits/sec >> >> 5000000 5000000 5000000 1.05 38.23 >> >> >> Ali >> >> >> >> On Feb 21, 2012, at 2:25 PM, Pritha Ghoshal wrote: >> >> Hi Ali, >> >> So I compiled the linux kernel again, but the problem still appears. I >> tried disassembling the kernel and got the PC of the instruction which was >> creating the address with the value of R31. >> fffffc00006b3cbc: 40 06 80 21 lda s3,1600(v0) >> This is in a function e1000_probe, which is defined >> in drivers/net/e1000/e1000_main.c. I am not sure, would it be possible for >> you to send this particular file from your linux kernel and I can try >> building with that to see if it works? >> >> Pritha >> >> On Mon, Feb 20, 2012 at 9:59 PM, Pritha Ghoshal <pritha9...@tamu.edu>wrote: >> >>> Hi Ali, >>> >>> I'll try that out, should I make a new repo under the repo.gem5.org? >>> >>> Pritha >>> >>> On Mon, Feb 20, 2012 at 9:33 PM, Ali Saidi <sa...@umich.edu> wrote: >>> >>>> It seems like it's broken at the time. Yes you could start with a the >>>> kernel source tar ball. >>>> http://www.kernel.org/pub/linux/kernel/v2.6/longterm/v2.6.27/linux-2.6.27.61.tar.bz2 >>>> >>>> You'd probably need to turn that into a mercurial repository by >>>> creating a new repo and committing all the code and the apply the patch >>>> queue on top of that. >>>> >>>> Ali >>>> >>>> On Feb 20, 2012, at 6:59 PM, Pritha Ghoshal wrote: >>>> >>>> Hi Ali, >>>> >>>> I was trying to compile the kernel again but I am not able to run this >>>> command: >>>> hg clone http://www.kernel.org/hg/linux-2.6/ >>>> >>>> Should I just download the kernel from the ftp repository? >>>> >>>> Pritha >>>> >>>> On Mon, Feb 20, 2012 at 6:40 PM, Ali Saidi <sa...@umich.edu> wrote: >>>> >>>>> Hi Pritha, >>>>> >>>>> I really don't know. The kernel I tried was 2.6.27.6 and is a the >>>>> mercurial repository of the linux kernel with the following patch queue >>>>> applied: http://repo.m5sim.org/linux-patches There is nothing in >>>>> there that touches the e1000 driver anymore. >>>>> >>>>> Ali >>>>> >>>>> On Feb 20, 2012, at 11:29 AM, Pritha Ghoshal wrote: >>>>> >>>>> 51061742000: drivesys.cpu + A0 T0 : @e1000_probe+608 : ldq >>>>> r16,680(r11) : MemRead : D=0x0000000000000000 A=0xfffffc00070242a8 >>>>> 51061747000: drivesys.cpu + A0 T0 : @tsunami_ioremap : lda >>>>> r1,-3(r31) : IntAlu : D=0xfffffffffffffffd >>>>> 51061747500: drivesys.cpu + A0 T0 : @tsunami_ioremap+4 : sll >>>>> r1,40,r1 : IntAlu : D=0xfffffd0000000000 >>>>> 51061748000: drivesys.cpu + A0 T0 : @tsunami_ioremap+8 : addq >>>>> r16,r1,r0 : IntAlu : D=0xfffffd0000000000 >>>>> 51061749500: drivesys.cpu + A0 T0 : @e1000_probe+648 : stq >>>>> r0,752(r12) : MemWrite : D=0xfffffd0000000000 A=0xfffffc000722b930 >>>>> >>>>> So the address is actually coming from a modified version of the value >>>>> in R31. It is shifted left logically 40 bits and that's how the wrong >>>>> address is generated. This value gets stored in >>>>> address A=0xfffffc000722b930. >>>>> >>>>> I am still confused about how you don't see this error, do I have some >>>>> old versions of files? >>>>> >>>>> Pritha >>>>> >>>>> On Mon, Feb 20, 2012 at 10:34 AM, Ali Saidi <sa...@umich.edu> wrote: >>>>> >>>>>> I wonder who wrote to A=0xfffffc000722b930 last. That would be the >>>>>> next step in debugging this is to understand where the address got >>>>>> initially generated from. >>>>>> >>>>>> Ali >>>>>> >>>>>> On Feb 18, 2012, at 9:28 PM, Pritha Ghoshal wrote: >>>>>> >>>>>> Hi Ali, >>>>>> >>>>>> So I think this is the relevant trace: >>>>>> 51061923500: drivesys.cpu + A0 T0 : @e1000_probe+1412 : ldq >>>>>> r16,144(r30) : MemRead : D=0xfffffc000722b930 A=0xfffffc0007033c78 >>>>>> 51061927500: drivesys.cpu + A0 T0 : @e1000_set_media_type+20 : bis >>>>>> r31,r16,r9 : IntAlu : D=0xfffffc000722b930 >>>>>> 51061942000: drivesys.cpu + A0 T0 : @e1000_set_media_type+184 : >>>>>> ldq r16,0(r9) : MemRead : D=0xfffffd0000000000 >>>>>> A=0xfffffc000722b930 >>>>>> 51061943000: drivesys.cpu + A0 T0 : @e1000_set_media_type+192 : >>>>>> lda r16,8(r16) : IntAlu : D=0xfffffd0000000008 >>>>>> 51061947500: drivesys.cpu + A0 T0 : @tsunami_readl : ldl >>>>>> r0,0(r16) : MemRead : >>>>>> >>>>>> The last line of code gets executed for the NSGige adapter as well, >>>>>> but the previous part of the code which sets r16, sets a different value >>>>>> for that adapter, as this is adapter specific code. >>>>>> >>>>>> I am not sure how to rectify the error still though.. >>>>>> >>>>>> Pritha >>>>>> >>>>>> >>>>>> On Sat, Feb 18, 2012 at 5:47 PM, Ali Saidi <sa...@umich.edu> wrote: >>>>>> >>>>>>> If you get an execution trace right before this happens that might >>>>>>> shed some light on it. Tracking how the address that is being used is >>>>>>> assembled by the cpu is a good start. >>>>>>> >>>>>>> Nothing jumps out at me though, so I'm pretty confused why I don't >>>>>>> see the problem and you do. >>>>>>> >>>>>>> Ali >>>>>>> >>>>>>> On Feb 16, 2012, at 4:57 PM, Pritha Ghoshal wrote: >>>>>>> >>>>>>> > >>>>>>> >> Hi Pritha, >>>>>>> >> I took a old kernel from when i published the original paper in >>>>>>> 2009 (2.6.27) >>>>>>> > and it seems to work with the e1000 NIC if I just make the >>>>>>> following change: >>>>>>> >> diff -r ef8630054b5e configs/common/FSConfig.py--- >>>>>>> > a/configs/common/FSConfig.py Tue Feb 14 14:15:30 2012 -0500+++ >>>>>>> > b/configs/common/FSConfig.py Thu Feb 16 11:28:32 2012 -0600 <at> >>>>>>> <at> -58,7 >>>>>>> > +58,7 <at> <at> def makeLinuxAlphaSystem(mem_mode, mdesc = >>>>>>> None): >>>>>>> > IO_address_space_base = 0x80000000000 class >>>>>>> BaseTsunami(Tsunami):- >>>>>>> > ethernet = NSGigE(pci_bus=0, pci_dev=1, pci_func=0)+ >>>>>>> ethernet = >>>>>>> > IGbE_e1000(pci_bus=0, pci_dev=1, pci_func=0) ide = >>>>>>> IdeController(disks= >>>>>>> > [Parent.disk0, Parent.disk2], >>>>>>> pci_func=0, pci_dev=0, >>>>>>> > pci_bus=0) >>>>>>> >> I don't know what kernel you're using but it's likely there is >>>>>>> either an issue >>>>>>> > with the configuration of it or perhaps something has broken in >>>>>>> the alpha >>>>>>> > branch. >>>>>>> >> From an Alpha/Tsunami perspective, virtual addresses that start >>>>>>> with ffffc map >>>>>>> > to physical memory directly and addresses that start with ffffd >>>>>>> map to the i/o. >>>>>>> > I'd have to look at the tsunami memory map documentation which >>>>>>> isn't close at >>>>>>> > hand to what 80000000008 could be, but it doesn't seem right. You >>>>>>> could use the >>>>>>> > PCIDev Ethernet trace flags to understand what addresses the PCI >>>>>>> devices are >>>>>>> > getting assigned. >>>>>>> >> Thanks, >>>>>>> >> Ali >>>>>>> >> >>>>>>> > >>>>>>> > Hi Ali, >>>>>>> > >>>>>>> > I had tried using the same modification in FSConfig.py, and even >>>>>>> the kernel I am >>>>>>> > using in 2.6.27. Should I try to build the kernel again and check? >>>>>>> > >>>>>>> > Regarding the addresses, I used the flag BusAddrRanges, I am not >>>>>>> able to see any >>>>>>> > of the address ranges mapped to the IOBus which starts from >>>>>>> 0x80000000000. The >>>>>>> > closest one I can see is: >>>>>>> > 0: drivesys.tsunami.fake_OROM: registering range: >>>>>>> 0x800000a0000-0x60000 >>>>>>> > 0: drivesys.iobus: Adding range 0x800000a0000 - 0x800000fffff >>>>>>> for id 12 >>>>>>> > All the rest seem to be starting with 0x801**** instead of >>>>>>> 0x800****. >>>>>>> > For membus this is the range: >>>>>>> > 0: drivesys.membus: Adding range 0x80000000000 - >>>>>>> 0xffffffffffffffff for id >>>>>>> > 2 >>>>>>> > So there is one range of addresses which are not mapped to >>>>>>> anywhere on IO bus, >>>>>>> > even though the >>>>>>> > IO_address_space_base = 0x80000000000 >>>>>>> > is set in FSConfig.py. >>>>>>> > But the mapping of addresses do not change from NSGigE adapter >>>>>>> mappings, and >>>>>>> > there is no error in that case. >>>>>>> > >>>>>>> > I enabled Fetch flag to see the addresses being accessed before >>>>>>> the error >>>>>>> > condition, and in the e100 NIC, this is the faulting address: >>>>>>> > 51061947500: drivesys.cpu: Fetch: PC:0xfffffc0000324800 >>>>>>> > 51061947500: drivesys.cpu: Address is fffffd0000000008, Physical >>>>>>> address >>>>>>> > 80000000008 >>>>>>> > >>>>>>> > But in the case of NSGigE, the same address brings forward a >>>>>>> different virtual >>>>>>> > address for the read: >>>>>>> > 51379655000: drivesys.cpu: Fetch: PC:0xfffffc0000324800 >>>>>>> > 51379655000: drivesys.cpu: Address is fffffd0009000018, Physical >>>>>>> address >>>>>>> > 80009000018 >>>>>>> > >>>>>>> > For the other cases, the sequence addresses are identical in case >>>>>>> of NSGigE and >>>>>>> > IGbE_e1000 adapters. eg: >>>>>>> > NSGigE: >>>>>>> > 51690478500: drivesys.cpu: Fetch: PC:0xfffffc0000319ce4 >>>>>>> > 51690478500: drivesys.cpu: Address is fffffc000085e208, Physical >>>>>>> address 85e208 >>>>>>> > e1000: >>>>>>> > 51061946500: drivesys.cpu: Fetch: PC:0xfffffc0000319ce4 >>>>>>> > 51061946500: drivesys.cpu: Address is fffffc000085e208, Physical >>>>>>> address 85e208 >>>>>>> > >>>>>>> > >>>>>>> > Could you give any pointer regarding where this faulty address is >>>>>>> getting >>>>>>> > generated for this particular case? >>>>>>> > >>>>>>> > Pritha >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > _______________________________________________ >>>>>>> > gem5-users mailing list >>>>>>> > gem5-users@gem5.org >>>>>>> > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users >>>>>>> >>>>>>> _______________________________________________ >>>>>>> gem5-users mailing list >>>>>>> gem5-users@gem5.org >>>>>>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users >>>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> gem5-users mailing list >>>>>> gem5-users@gem5.org >>>>>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users >>>>>> >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> gem5-users mailing list >>>>>> gem5-users@gem5.org >>>>>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users >>>>>> >>>>> >>>>> _______________________________________________ >>>>> gem5-users mailing list >>>>> gem5-users@gem5.org >>>>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> gem5-users mailing list >>>>> gem5-users@gem5.org >>>>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users >>>>> >>>> >>>> _______________________________________________ >>>> gem5-users mailing list >>>> gem5-users@gem5.org >>>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users >>>> >>>> >>>> >>>> _______________________________________________ >>>> gem5-users mailing list >>>> gem5-users@gem5.org >>>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users >>>> >>> >>> >> _______________________________________________ >> gem5-users mailing list >> gem5-users@gem5.org >> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users >> >> >> >> _______________________________________________ >> gem5-users mailing list >> gem5-users@gem5.org >> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users >> > >
_______________________________________________ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users