* Re: cg-clone not fetching all tags?
From: Johannes Sixt @ 2006-04-29 22:54 UTC (permalink / raw)
To: git
In-Reply-To: <20060429221114.557FC35288F@atlas.denx.de>
On Sunday 30 April 2006 00:11, Wolfgang Denk wrote:
> In message <200604292342.16306.johannes.sixt@telecom.at> you wrote:
> > There are two types of tags: They can point to
> > 1. a commit object
> > 2. a proper tag object (which in turn references the commit)
> >
> > git-update-server-info seems to generate info only for case 2, and so are
> > the only ones that http can fetch.
>
> And git-cvsimport (at least older versions of it) imports CVS tags
> only as type 1 ?
>
> That would perfectly explain the situation. How can this be fixed?
Something like this tells you which one points to a commit or a tag:
for i in `find .git/refs/tags -type f`; do
echo -n "$i "; git-cat-file -t $(cat $i);
done
Then for each commit-type $tag you do
git-tag -m ' ' $tag-new $tag
mv .git/refs/tags/$tag-new .git/refs/tags/$tag
(git-tag does not accept an empty tag message - if you dislike the
single-blank-message, you have to manufacture your tags with git-mktag
manually.)
-- Hannes
^ permalink raw reply
* Re: [linux-lvm] vgchange -ay Killed
From: Alasdair G Kergon @ 2006-04-29 22:24 UTC (permalink / raw)
To: LVM general discussion and development
In-Reply-To: <445394B9.6040104@volved.com>
The code has not been optimised for large numbers of LVs.
Use the latest dm/lvm2 versions for a start as there's a memory
leak in your libdevmapper.
Each device device uses up a fixed amount of (unswappable) kernel
memory, and when all your memory is used out you can't have any
more devices.
Use standard diagnostic tools to work out which limit you're hitting.
(top; ps; slabtop; sysreq; strace etc.)
Alasdair
^ permalink raw reply
* Re: cg-clone not fetching all tags?
From: Wolfgang Denk @ 2006-04-29 22:11 UTC (permalink / raw)
To: Johannes Sixt; +Cc: git, Petr Baudis
In-Reply-To: <200604292342.16306.johannes.sixt@telecom.at>
In message <200604292342.16306.johannes.sixt@telecom.at> you wrote:
>
> There are two types of tags: They can point to
> 1. a commit object
> 2. a proper tag object (which in turn references the commit)
>
> git-update-server-info seems to generate info only for case 2, and so are the
> only ones that http can fetch.
And git-cvsimport (at least older versions of it) imports CVS tags
only as type 1 ?
That would perfectly explain the situation. How can this be fixed?
Best regards,
Viele Grüße,
Wolfgang Denk
--
Software Engineering: Embedded and Realtime Systems, Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
There is a multi-legged creature crawling on your shoulder.
-- Spock, "A Taste of Armageddon", stardate 3193.9
^ permalink raw reply
* Re: cg-clone not fetching all tags?
From: Wolfgang Denk @ 2006-04-29 22:11 UTC (permalink / raw)
To: Petr Baudis; +Cc: Git Mailing List
In-Reply-To: <20060429170542.GJ27689@pasky.or.cz>
Dear Petr,
in message <20060429170542.GJ27689@pasky.or.cz> you wrote:
>
> you need to run git-update-server-info every time you add or update a
> tag (or best every time you push). See the NOTES section of
I do this. Also, this does not seem to explain why I can only see
recent tags, but not old ones?
> cg-admin-setuprepo documentation for details on how to set it up to be
> called automagically at every push.
Actually I don't use push, but "cg-update" on the receiving end. Is
this a problem?
Best regards,
Wolfgang Denk
--
Software Engineering: Embedded and Realtime Systems, Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
There's an old proverb that says just about whatever you want it to.
^ permalink raw reply
* Re: netboot related projects
From: vincent guffens @ 2006-04-29 22:03 UTC (permalink / raw)
To: The development of GRUB 2
In-Reply-To: <200604292254.29555.okuji@enbug.org>
Yoshinori K. Okuji wrote:
> On Saturday 29 April 2006 22:15, Marco Gerards wrote:
>
>>vincent guffens <v.guffens@imperial.ac.uk> writes:
>>
>>Hi Vincent,
>>
>>
>>>I just wanted to let you know that I contacted the maintainer of
>>>Etherboot to inform him of my current attempt to port the etherboot
>>>drivers to grub2.
>>
>>Is he willing to cooperate with us so it will be easier to share code?
>>I think I once sent him an email about it... But I am not sure
>>anymore. :-)
>
>
> Honestly, I don't like to copy Etherboot's drivers to GRUB any longer. I
> rather consider how to use the UNDI interface provided by Etherboot. When I
> worked on netboot in GRUB Legacy, Etherboot didn't support UNDI, so I had to
> copy the drivers. According to him, the current Etherboot supports UNDI, so
> it should be feasible to use Etherboot's drivers via UNDI.
>
> I think the difficulty is the case where GRUB is not loaded by Etherboot, for
> example, when GRUB boots from a disk directly. In this case, one way would be
> to hack Etherboot so that Etherboot can be invoked by GRUB and give the
> control back to GRUB.
>
> From the experience of GRUB Legacy, I know how painful to synchronize code
> with an external project, so I'd like to investigate this direction.
true, but this is why the idea here is to use the drivers without
modification or at least with as few modifications as possible. The
driver that I have working now (ns8390 to drive the qemu NE2000
emulation) works with no modification at all, it only requires the
inclusion of a few lines of code before the driver code and at the end
(i.e could be scripted in a general way). Further it does not put any
constraint on the GRUB interface. I don't know much about UNDI but I
checked that there is an UNDI driver in etherboot that could, I think,
be included just as mentioned above.
Of course, this require an additional "glue layer" which is not
particularly elegant. Please, let me know what you think about this way
of doing think as am I still spending some time of it in the hope that
it could be usefull for grub2 (the latest version can be found at
http://www.inma.ucl.ac.be/~guffens/grub2_netboot/ ).
--
Vincent Guffens
^ permalink raw reply
* Re: better leve triggered IRQ management needed
From: Linus Torvalds @ 2006-04-29 21:58 UTC (permalink / raw)
To: Alan Cox; +Cc: Stephen Hemminger, Andrew Morton, linux-kernel
In-Reply-To: <1146345911.3302.36.camel@localhost.localdomain>
On Sat, 29 Apr 2006, Alan Cox wrote:
>
> Trying to guess the current IRQ level v edge on a PC is very hard.
> Trying to set it correctly from the driver is rather easier.
I disagree. It's not any easier at all.
On PC's (x86 and x86-64) we actually already set the ELCR as well as we
can (look for "eisa_set_level_irq()"). And a driver _literally_ cannot
change it from the system value, because of the polarity confusion.
In the other cases (IO-APIC) we usually have it level, but when we have it
marked as an edge, there is almost always a real reason for that too (ie
legacy interrupt, it really _is_ edge-high, not level-low).
Linus
^ permalink raw reply
* Re: e1000_down and tx_timeout worker race cleaning the transmit buffers
From: Shaw Vrana @ 2006-04-29 21:57 UTC (permalink / raw)
To: Auke Kok
Cc: Andy Gospodarek, Michael Chan, Herbert Xu, netdev, auke-jan.h.kok,
davem, jgarzik
In-Reply-To: <44504EA7.5050901@foo-projects.org>
Hi Auke,
On 4/26/06, Auke Kok <sofar@foo-projects.org> wrote:
> > I'm concerned about the addition of the netif_running check to
> > e1000_down. While something like this is needed, I'm not familiar
> > enough w/ the code to know if this is okay.
> > All explanations and comments are greatly appreciated.
> While I appreciate patches ;^) I think we're on a better path by making these
> cleanups, and actually reducing the code in large places. I hope to be able to
> push something out for RFC soon. Added benefit will be that we're dropping a
> whole bunch of irq operations where we didn't need to (soft resets).
Well, it looks like my patch won't work as the e1000_close is called
by dev.c only after it clears the __LINK_STATE_START bit, which means
that e1000_down will exit prematurely when called from e1000_close in
my approach. Any feedback on the approach would be appreciated, as
your upcoming patch sounds like it might be too aggressive to get put
into a stabilization patch. ;)
I understand the need to fix the problems associated with the
watchdog_task as well, though I wonder if it wouldn't be better to
remove it altogether given the complexity of cleaning up after these
tasks in general. I've personally had more problems with the watchdog
task than with the possible sleep in the watchdog timer code. I can't
help but siding with the RedHat folks who currently ship a version of
the e1000 driver that fixes the mechanism used to sleep instead of the
watchdog_task approach. Perhaps I missed the discussion of this, I'm
only finding the patch itself with google.
Thanks,
Shaw
^ permalink raw reply
* strange things going on, raid5&evms
From: Christian Pedaschus @ 2006-04-29 21:56 UTC (permalink / raw)
To: linux-raid
Hi list,
i'll try to make it short, but raid-problems seem to have sooo long
descriptions ;)
A week ago i got a 200GB Sata drive and an Adapted 1210SA and decided to
do some tests with evms and software-raid and so i created a Raid5 out
of 3 Partitions using evmsgui:
15gb sda6 (Scsi Disk)
15gb sdb6 (Scsi Disk)
15gb sdc6 (Sata Disk)
No spares.
(i know this is not the best disk-config, but it was purely for testing,
neither important data nor high performance)
Worked like a charm for some days, but 2 days ago the system crashed
(while i was away). I don't know if it happened because of the raid, but
my sys hasn't crashed for over a year, so i highly suspect it.
After rebooting, the raid5 did not come back, i got boot-messages like:
[ 34.232750] md: md2: raid array is not clean -- starting background
reconstruction
[ 34.317923] raid5: device dm-5 operational as raid disk 1
[ 34.403238] raid5: device dm-4 operational as raid disk 0
[ 34.487662] raid5: cannot start dirty degraded array for md2
[ 34.571717] RAID5 conf printout:
[ 34.655027] --- rd:3 wd:2 fd:1
[ 34.737736] disk 0, o:1, dev:dm-4
[ 34.820023] disk 1, o:1, dev:dm-5
[ 34.901839] raid5: failed to run raid set md2
[ 34.983871] md: pers->run() failed ...
[ 35.070053] md: bind<dm-26>
[ 35.150748] md: bind<dm-27>
[ 35.309622] md: array md2 already has disks!
[ 35.388342] md: array md2 already has disks!
[ 35.466417] md: array md2 already has disks!
[ 35.544040] md: array md2 already has disks!
[snip]
[ 42.500546] md: array md2 already has disks!
[ 42.562950] md: array md2 already has disks!
[ 42.623025] md: array md2 already has disks!
[ 42.686593] md: array md2 already has disks!
[ 42.744099] md: array md2 already has disks!
[snip]
[ 50.918891] md: array md2 already has disks!
[ 50.919045] md: array md2 already has disks!
[ 50.919169] md: array md2 already has disks!
[ 50.919290] md: array md2 already has disks!
[ 50.919454] md: array md2 already has disks!
[ 50.919565] md: array md2 already has disks!
The rest of the sata-drive, which run as single evms-volumes (namely
sdc7/sdc8 both with 80gb) run fine. Even after removing the sata-drive
from the system i'm still not able to start the raid5 with the 2 scsi
discs, i always get:
# mdadm --manage --run /dev/md2
mdadm: failed to run array /dev/md2: Input/output error
But the scsi-disks are fine and the other raid0/1 which i have on the
scsi-discs are running without problems. I really wonder why i can't
start a raid5 with 2 disks and instead get I/O Errors. It doesn't matter
if i have the sata disk connected or not, it's always the same.
For now i did not upgrade any software, still running:
# uname -a
Linux pc1 2.6.15-gentoo-r1 #6 SMP PREEMPT Fri Apr 21 14:16:34 CEST 2006
i686 Intel(R) Xeon(TM) CPU 2.40GHz GenuineIntel GNU/Linux
# mdadm --version
mdadm - v1.12.0 - 14 June 2005
Any advice how to start the raid5 or shall i update mdadm (seems kinda old)?
Like i said, i have no important data on it, so i could live with a
reset, but the reason for my test was to find out if i can trust md+evms
and so i'm highly interested what to do now.
Greets, Chris
^ permalink raw reply
* Re: [linux-lvm] vgchange -ay Killed
From: Ming Zhang @ 2006-04-29 21:56 UTC (permalink / raw)
To: Jonathan E Brassow; +Cc: linux-lvm
In-Reply-To: <1146323005.15799.8.camel@localhost.localdomain>
[-- Attachment #1: Type: text/plain, Size: 4844 bytes --]
forgot cc to lvm.
-------------------------
Hi Jonathan
I found out the reason, OOM, though no time to find out why vgchange
invoke that. vgchange seems to need ~3MB memory per lv it handled. quite
scary and poor scalability. I attached several logs to show this
problem. The oomlog is the kernel msg about oom killer. The toplog is
the last a few output from a top run. The vgscanlog is the last few scan
log.
LVM version: 2.02.01 (2005-11-23)
Library version: 1.02.02 (2006-01-04)
Driver version: 4.4.0
Ming
On Sat, 2006-04-29 at 11:03 -0400, Ming Zhang wrote:
> On Sat, 2006-04-29 at 10:01 -0500, Jonathan E Brassow wrote:
> > Ming,
> >
> > I remember you having a conversation about increasing the metadatasize
> > of pvs (June 6th,2005) to accommodate large numbers of volumes...
> > apparently, this didn't help?
>
> yes, that helps. if without larger metadata size, i can not create that
> large number of lv at all.
>
> >
> > It seems to me that LVM might not be able to allocate enough memory...
> > perhaps its internal memory cache is to small... Use four v's for more
> > verbose output. Maybe it will give us some clues.
>
> yes, same to me. i will redo the test soon and use 4v this time.
>
> thanks.
>
>
> >
> > brassow
> >
> >
> > On Apr 28, 2006, at 5:10 PM, Ming Zhang wrote:
> >
> > > no. i do
> > >
> > > lvcreate -L1G -nlv1 vg1
> > > ...
> > > lvcreate -L1G -nlv3000 vg1
> > >
> > > so total 3000 logical volumes.
> > >
> > > then optionally i do lvscan, vgscan, pvscan. all kinds of scan. seems
> > > not fast.
> > >
> > > then i reboot, and then the vg will fail to activate all lv.
> > >
> > > ming
> > >
> > >
> > > On Fri, 2006-04-28 at 17:09 -0500, Jonathan E Brassow wrote:
> > >> You mean:
> > >> 1) lvcreate -L 3k -n lv vg
> > >> 2) vgchange -an vg
> > >> 3) vgchange -ay vg
> > >>
> > >> or do you mean something else?
> > >>
> > >> brassow
> > >>
> > >> On Apr 28, 2006, at 11:10 AM, Ming Zhang wrote:
> > >>
> > >>> This is what i get when try to active a VG with 3K LVs. repeatable.
> > >>>
> > >>> LVM version: 2.02.01 (2005-11-23)
> > >>> Library version: 1.02.02 (2006-01-04)
> > >>> Driver version: 4.4.0
> > >>>
> > >>>
> > >>> [root@dualxeon ~]# vgchange -ay
> > >>> Killed
> > >>>
> > >>>
> > >>> seem that "Locking memory" only appear once, and then stuck till
> > >>> killed.
> > >>>
> > >>> --------some debug output if i use vgchang -ay -vvv--------------
> > >>> Found volume group "vg1"
> > >>> Getting device info for vg1-v678
> > >>> dm info
> > >>> LVM-8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCejSzi1SuM3uO3NWrpDB2Fle5A3Uv6i367
> > >>> N
> > >>> [16384]
> > >>> Locking LV
> > >>> 8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCeL0DcqwlzsZSb0p6eIhXnV2uyE8KNAZG2 (R)
> > >>> Finding volume group for uuid
> > >>> 8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCeL0DcqwlzsZSb0p6eIhXnV2uyE8KNAZG2
> > >>> /dev/md0: lvm2 label detected
> > >>> /dev/md1: lvm2 label detected
> > >>> /dev/md0: lvm2 label detected
> > >>> /dev/md1: lvm2 label detected
> > >>> Read vg1 metadata (3001) from /dev/md0 at 272384 size 706783
> > >>> /dev/md0: lvm2 label detected
> > >>> /dev/md1: lvm2 label detected
> > >>> Read vg1 metadata (3001) from /dev/md1 at 272384 size 706783
> > >>> Found volume group "vg1"
> > >>> Getting device info for vg1-v679
> > >>> dm info
> > >>> LVM-8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCeL0DcqwlzsZSb0p6eIhXnV2uyE8KNAZG2
> > >>> N
> > >>> [16384]
> > >>> Locking LV
> > >>> 8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCeccjyapQkKwo75je1cFLyZ84RO4LWQnk5 (R)
> > >>> Finding volume group for uuid
> > >>> 8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCeccjyapQkKwo75je1cFLyZ84RO4LWQnk5
> > >>> /dev/md0: lvm2 label detected
> > >>> /dev/md1: lvm2 label detected
> > >>> /dev/md0: lvm2 label detected
> > >>> /dev/md1: lvm2 label detected
> > >>> Read vg1 metadata (3001) from /dev/md0 at 272384 size 706783
> > >>> /dev/md0: lvm2 label detected
> > >>> /dev/md1: lvm2 label detected
> > >>> Read vg1 metadata (3001) from /dev/md1 at 272384 size 706783
> > >>> Found volume group "vg1"
> > >>> Getting device info for vg1-v680
> > >>> dm info
> > >>> LVM-8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCeccjyapQkKwo75je1cFLyZ84RO4LWQnk5
> > >>> N
> > >>> [16384]
> > >>> dm info
> > >>> 8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCeccjyapQkKwo75je1cFLyZ84RO4LWQnk5 N
> > >>> [16384]
> > >>> dm info vg1-v680 N [16384]
> > >>> Locking memory
> > >>>
> > >>>
> > >>> _______________________________________________
> > >>> linux-lvm mailing list
> > >>> linux-lvm@redhat.com
> > >>> https://www.redhat.com/mailman/listinfo/linux-lvm
> > >>> read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/
> > >>>
> > >>
> > >
> >
>
[-- Attachment #2: oomlog --]
[-- Type: text/plain, Size: 1967 bytes --]
oom-killer: gfp_mask=0xd0, order=0
Mem-info:
Node 0 DMA per-cpu:
cpu 0 hot: low 2, high 6, batch 1 used:5
cpu 0 cold: low 0, high 2, batch 1 used:0
cpu 1 hot: low 2, high 6, batch 1 used:2
cpu 1 cold: low 0, high 2, batch 1 used:0
cpu 2 hot: low 2, high 6, batch 1 used:2
cpu 2 cold: low 0, high 2, batch 1 used:1
cpu 3 hot: low 2, high 6, batch 1 used:4
cpu 3 cold: low 0, high 2, batch 1 used:0
Node 0 Normal per-cpu:
cpu 0 hot: low 62, high 186, batch 31 used:158
cpu 0 cold: low 0, high 62, batch 31 used:55
cpu 1 hot: low 62, high 186, batch 31 used:114
cpu 1 cold: low 0, high 62, batch 31 used:47
cpu 2 hot: low 62, high 186, batch 31 used:120
cpu 2 cold: low 0, high 62, batch 31 used:29
cpu 3 hot: low 62, high 186, batch 31 used:116
cpu 3 cold: low 0, high 62, batch 31 used:50
Node 0 HighMem per-cpu: empty
Free pages: 14884kB (0kB HighMem)
Active:244667 inactive:250322 dirty:0 writeback:0 unstable:0 free:3721 slab:9194 mapped:494595 pagetables:1325
Node 0 DMA free:8168kB min:44kB low:52kB high:64kB active:1804kB inactive:1108kB present:15976kB pages_scanned:3088 all_unreclaimable? yes
lowmem_reserve[]: 0 2031 2031
Node 0 Normal free:6716kB min:5740kB low:7172kB high:8608kB active:976736kB inactive:1000180kB present:2080192kB pages_scanned:255545 all_unreclaimable? no
lowmem_reserve[]: 0 0 0
Node 0 HighMem free:0kB min:128kB low:160kB high:192kB active:0kB inactive:0kB present:0kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 0
Node 0 DMA: 0*4kB 1*8kB 0*16kB 1*32kB 1*64kB 1*128kB 1*256kB 1*512kB 1*1024kB 1*2048kB 1*4096kB = 8168kB
Node 0 Normal: 313*4kB 43*8kB 2*16kB 3*32kB 2*64kB 0*128kB 1*256kB 1*512kB 0*1024kB 0*2048kB 1*4096kB = 6716kB
Node 0 HighMem: empty
Swap cache: add 483211, delete 2156, find 52/65, race 0+0
Free swap = 2260368kB
Total swap = 4192956kB
Free swap: 2260368kB
524144 pages of RAM
10297 reserved pages
81676 pages shared
481083 pages swap cached
Out of Memory: Killed process 4550 (lvm).
[-- Attachment #3: toplog --]
[-- Type: text/plain, Size: 46878 bytes --]
top - 11:27:09 up 9 min, 4 users, load average: 0.99, 0.70, 0.33
Tasks: 91 total, 2 running, 89 sleeping, 0 stopped, 0 zombie
Cpu(s): 22.8% us, 3.3% sy, 0.0% ni, 73.8% id, 0.2% wa, 0.0% hi, 0.0% si
Mem: 2055388k total, 2004028k used, 51360k free, 12184k buffers
Swap: 4192956k total, 0k used, 4192956k free, 100016k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4550 root 21 0 1836m 1.8g 48m R 98.7 91.2 4:45.39 lvm
9305 root 16 0 6212 976 744 R 0.3 0.0 0:00.16 top
10572 root 16 0 6212 992 760 S 0.3 0.0 0:00.08 top
1 root 16 0 4820 560 464 S 0.0 0.0 0:01.23 init
2 root RT 0 0 0 0 S 0.0 0.0 0:00.01 migration/0
3 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0
4 root RT 0 0 0 0 S 0.0 0.0 0:00.01 migration/1
5 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/1
6 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/2
7 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/2
8 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/3
9 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/3
10 root 10 -5 0 0 0 S 0.0 0.0 0:00.01 events/0
11 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 events/1
12 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 events/2
13 root 10 -5 0 0 0 S 0.0 0.0 0:00.01 events/3
14 root 10 -5 0 0 0 S 0.0 0.0 0:00.05 khelper
15 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kthread
21 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kacpid
123 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kblockd/0
124 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kblockd/1
125 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kblockd/2
126 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kblockd/3
201 root 20 0 0 0 0 S 0.0 0.0 0:00.00 pdflush
202 root 15 0 0 0 0 S 0.0 0.0 0:00.00 pdflush
203 root 16 0 0 0 0 S 0.0 0.0 0:00.00 kswapd0
204 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 aio/0
205 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 aio/1
206 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 aio/2
207 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 aio/3
282 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kseriod
344 root 16 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_0
345 root 15 0 0 0 0 S 0.0 0.0 0:00.00 ahd_dv_0
347 root 16 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_1
348 root 15 0 0 0 0 S 0.0 0.0 0:00.00 ahd_dv_1
361 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kcryptd/0
362 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kcryptd/1
363 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kcryptd/2
364 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kcryptd/3
365 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kmpathd/0
366 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kmpathd/1
367 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kmpathd/2
368 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kmpathd/3
369 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kmirrord
389 root 15 0 0 0 0 S 0.0 0.0 0:00.23 kjournald
1220 root 10 -5 3680 456 368 S 0.0 0.0 0:00.17 udevd
1343 root 19 0 0 0 0 S 0.0 0.0 0:00.00 shpchpd_event
1456 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kauditd
1605 root 19 0 0 0 0 S 0.0 0.0 0:00.00 kjournald
2613 root 16 0 4500 1284 772 S 0.0 0.1 0:00.00 dhclient
2653 root 16 0 3696 620 504 S 0.0 0.0 0:00.04 syslogd
2657 root 16 0 2612 496 412 S 0.0 0.0 0:00.00 klogd
2668 root 16 0 2628 524 416 S 0.0 0.0 0:00.01 irqbalance
2796 root 18 0 2920 868 616 S 0.0 0.0 0:00.00 smartd
2806 root 19 0 2608 552 464 S 0.0 0.0 0:00.00 acpid
2854 root 15 0 22020 2088 1640 S 0.0 0.1 0:00.03 sshd
2869 root 15 0 8784 880 708 S 0.0 0.0 0:00.00 xinetd
2888 ntp 16 0 18632 5368 4224 S 0.0 0.3 0:00.01 ntpd
2898 root 16 0 4252 528 444 S 0.0 0.0 0:00.00 gpm
2908 root 16 0 57120 1188 740 S 0.0 0.1 0:00.00 crond
2931 xfs 18 0 10320 1712 772 S 0.0 0.1 0:00.02 xfs
2941 root 35 19 2604 648 536 S 0.0 0.0 0:00.00 anacron
2950 root 16 0 9032 808 648 S 0.0 0.0 0:00.00 atd
2960 dbus 16 0 9760 1232 1060 S 0.0 0.1 0:00.17 dbus-daemon-1
3020 root 17 0 27632 1312 1004 S 0.0 0.1 0:00.01 login
3021 root 16 0 27636 1316 1004 S 0.0 0.1 0:00.00 login
3022 root 16 0 27632 1312 1004 S 0.0 0.1 0:00.00 login
3023 root 16 0 27632 1312 1004 S 0.0 0.1 0:00.01 login
3024 root 18 0 2600 412 344 S 0.0 0.0 0:00.00 mingetty
3025 root 18 0 2600 416 344 S 0.0 0.0 0:00.00 mingetty
3521 root 16 0 54040 1620 1192 S 0.0 0.1 0:00.03 bash
3571 root 17 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_2
3572 root 18 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_3
3573 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_4
3574 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_5
3575 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_6
3576 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_7
3577 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_8
3578 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_9
3975 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_10
3976 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_11
3977 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_12
3979 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_13
3980 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_14
3981 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_15
3982 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_16
3983 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_17
4727 root 15 0 54040 1616 1192 S 0.0 0.1 0:00.03 bash
5397 root 16 0 53800 572 472 S 0.0 0.0 0:00.21 tail
6355 root 15 0 54044 1620 1192 S 0.0 0.1 0:00.03 bash
9581 root 15 0 54040 1616 1192 S 0.0 0.1 0:00.03 bash
top - 11:27:12 up 9 min, 4 users, load average: 0.99, 0.70, 0.33
Tasks: 91 total, 2 running, 89 sleeping, 0 stopped, 0 zombie
Cpu(s): 22.3% us, 3.4% sy, 0.0% ni, 74.1% id, 0.2% wa, 0.0% hi, 0.0% si
Mem: 2055388k total, 2022264k used, 33124k free, 12184k buffers
Swap: 4192956k total, 0k used, 4192956k free, 100016k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4550 root 18 0 1853m 1.8g 48m R 98.7 92.1 4:48.36 lvm
1 root 16 0 4820 560 464 S 0.0 0.0 0:01.23 init
2 root RT 0 0 0 0 S 0.0 0.0 0:00.01 migration/0
3 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0
4 root RT 0 0 0 0 S 0.0 0.0 0:00.01 migration/1
5 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/1
6 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/2
7 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/2
8 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/3
9 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/3
10 root 10 -5 0 0 0 S 0.0 0.0 0:00.01 events/0
11 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 events/1
12 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 events/2
13 root 10 -5 0 0 0 S 0.0 0.0 0:00.01 events/3
14 root 10 -5 0 0 0 S 0.0 0.0 0:00.05 khelper
15 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kthread
21 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kacpid
123 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kblockd/0
124 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kblockd/1
125 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kblockd/2
126 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kblockd/3
201 root 20 0 0 0 0 S 0.0 0.0 0:00.00 pdflush
202 root 15 0 0 0 0 S 0.0 0.0 0:00.00 pdflush
203 root 16 0 0 0 0 S 0.0 0.0 0:00.00 kswapd0
204 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 aio/0
205 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 aio/1
206 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 aio/2
207 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 aio/3
282 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kseriod
344 root 16 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_0
345 root 15 0 0 0 0 S 0.0 0.0 0:00.00 ahd_dv_0
347 root 16 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_1
348 root 15 0 0 0 0 S 0.0 0.0 0:00.00 ahd_dv_1
361 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kcryptd/0
362 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kcryptd/1
363 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kcryptd/2
364 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kcryptd/3
365 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kmpathd/0
366 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kmpathd/1
367 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kmpathd/2
368 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kmpathd/3
369 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kmirrord
389 root 15 0 0 0 0 S 0.0 0.0 0:00.23 kjournald
1220 root 10 -5 3680 456 368 S 0.0 0.0 0:00.17 udevd
1343 root 19 0 0 0 0 S 0.0 0.0 0:00.00 shpchpd_event
1456 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kauditd
1605 root 19 0 0 0 0 S 0.0 0.0 0:00.00 kjournald
2613 root 16 0 4500 1284 772 S 0.0 0.1 0:00.00 dhclient
2653 root 16 0 3696 620 504 S 0.0 0.0 0:00.04 syslogd
2657 root 16 0 2612 496 412 S 0.0 0.0 0:00.00 klogd
2668 root 16 0 2628 524 416 S 0.0 0.0 0:00.01 irqbalance
2796 root 18 0 2920 868 616 S 0.0 0.0 0:00.00 smartd
2806 root 19 0 2608 552 464 S 0.0 0.0 0:00.00 acpid
2854 root 15 0 22020 2088 1640 S 0.0 0.1 0:00.03 sshd
2869 root 15 0 8784 880 708 S 0.0 0.0 0:00.00 xinetd
2888 ntp 16 0 18632 5368 4224 S 0.0 0.3 0:00.01 ntpd
2898 root 16 0 4252 528 444 S 0.0 0.0 0:00.00 gpm
2908 root 16 0 57120 1188 740 S 0.0 0.1 0:00.00 crond
2931 xfs 18 0 10320 1712 772 S 0.0 0.1 0:00.02 xfs
2941 root 35 19 2604 648 536 S 0.0 0.0 0:00.00 anacron
2950 root 16 0 9032 808 648 S 0.0 0.0 0:00.00 atd
2960 dbus 16 0 9760 1232 1060 S 0.0 0.1 0:00.17 dbus-daemon-1
3020 root 17 0 27632 1312 1004 S 0.0 0.1 0:00.01 login
3021 root 16 0 27636 1316 1004 S 0.0 0.1 0:00.00 login
3022 root 16 0 27632 1312 1004 S 0.0 0.1 0:00.00 login
3023 root 16 0 27632 1312 1004 S 0.0 0.1 0:00.01 login
3024 root 18 0 2600 412 344 S 0.0 0.0 0:00.00 mingetty
3025 root 18 0 2600 416 344 S 0.0 0.0 0:00.00 mingetty
3521 root 16 0 54040 1620 1192 S 0.0 0.1 0:00.03 bash
3571 root 17 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_2
3572 root 18 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_3
3573 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_4
3574 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_5
3575 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_6
3576 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_7
3577 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_8
3578 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_9
3975 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_10
3976 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_11
3977 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_12
3979 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_13
3980 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_14
3981 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_15
3982 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_16
3983 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_17
4727 root 15 0 54040 1616 1192 S 0.0 0.1 0:00.03 bash
5397 root 16 0 53800 572 472 S 0.0 0.0 0:00.21 tail
6355 root 15 0 54044 1620 1192 S 0.0 0.1 0:00.03 bash
9305 root 16 0 6212 976 744 R 0.0 0.0 0:00.16 top
9581 root 15 0 54040 1616 1192 S 0.0 0.1 0:00.03 bash
10572 root 16 0 6212 992 760 S 0.0 0.0 0:00.08 top
top - 11:27:15 up 9 min, 4 users, load average: 0.99, 0.70, 0.33
Tasks: 91 total, 2 running, 89 sleeping, 0 stopped, 0 zombie
Cpu(s): 21.8% us, 3.9% sy, 0.0% ni, 72.2% id, 1.9% wa, 0.1% hi, 0.1% si
Mem: 2055388k total, 2034504k used, 20884k free, 11888k buffers
Swap: 4192956k total, 0k used, 4192956k free, 94804k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4550 root 18 0 1870m 1.8g 48m R 98.1 92.9 4:51.31 lvm
1 root 16 0 4820 560 464 S 0.0 0.0 0:01.23 init
2 root RT 0 0 0 0 S 0.0 0.0 0:00.01 migration/0
3 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0
4 root RT 0 0 0 0 S 0.0 0.0 0:00.01 migration/1
5 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/1
6 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/2
7 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/2
8 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/3
9 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/3
10 root 10 -5 0 0 0 S 0.0 0.0 0:00.01 events/0
11 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 events/1
12 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 events/2
13 root 10 -5 0 0 0 S 0.0 0.0 0:00.01 events/3
14 root 10 -5 0 0 0 S 0.0 0.0 0:00.05 khelper
15 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kthread
21 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kacpid
123 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kblockd/0
124 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kblockd/1
125 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kblockd/2
126 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kblockd/3
201 root 15 0 0 0 0 S 0.0 0.0 0:00.00 pdflush
202 root 15 0 0 0 0 S 0.0 0.0 0:00.00 pdflush
203 root 15 0 0 0 0 S 0.0 0.0 0:00.00 kswapd0
204 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 aio/0
205 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 aio/1
206 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 aio/2
207 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 aio/3
282 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kseriod
344 root 16 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_0
345 root 15 0 0 0 0 S 0.0 0.0 0:00.00 ahd_dv_0
347 root 16 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_1
348 root 15 0 0 0 0 S 0.0 0.0 0:00.00 ahd_dv_1
361 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kcryptd/0
362 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kcryptd/1
363 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kcryptd/2
364 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kcryptd/3
365 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kmpathd/0
366 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kmpathd/1
367 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kmpathd/2
368 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kmpathd/3
369 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kmirrord
389 root 15 0 0 0 0 S 0.0 0.0 0:00.23 kjournald
1220 root 10 -5 3680 456 368 S 0.0 0.0 0:00.17 udevd
1343 root 19 0 0 0 0 S 0.0 0.0 0:00.00 shpchpd_event
1456 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kauditd
1605 root 19 0 0 0 0 S 0.0 0.0 0:00.00 kjournald
2613 root 16 0 4500 1284 772 S 0.0 0.1 0:00.00 dhclient
2653 root 16 0 3696 620 504 S 0.0 0.0 0:00.04 syslogd
2657 root 16 0 2612 496 412 S 0.0 0.0 0:00.00 klogd
2668 root 16 0 2628 524 416 S 0.0 0.0 0:00.01 irqbalance
2796 root 18 0 2920 868 616 S 0.0 0.0 0:00.00 smartd
2806 root 19 0 2608 552 464 S 0.0 0.0 0:00.00 acpid
2854 root 15 0 22020 2088 1640 S 0.0 0.1 0:00.03 sshd
2869 root 15 0 8784 880 708 S 0.0 0.0 0:00.00 xinetd
2888 ntp 16 0 18632 5368 4224 S 0.0 0.3 0:00.01 ntpd
2898 root 16 0 4252 528 444 S 0.0 0.0 0:00.00 gpm
2908 root 16 0 57120 1188 740 S 0.0 0.1 0:00.00 crond
2931 xfs 18 0 10320 1712 772 S 0.0 0.1 0:00.02 xfs
2941 root 35 19 2604 648 536 S 0.0 0.0 0:00.00 anacron
2950 root 16 0 9032 808 648 S 0.0 0.0 0:00.00 atd
2960 dbus 16 0 9760 1232 1060 S 0.0 0.1 0:00.17 dbus-daemon-1
3020 root 17 0 27632 1312 1004 S 0.0 0.1 0:00.01 login
3021 root 16 0 27636 1316 1004 S 0.0 0.1 0:00.00 login
3022 root 16 0 27632 1312 1004 S 0.0 0.1 0:00.00 login
3023 root 16 0 27632 1312 1004 S 0.0 0.1 0:00.01 login
3024 root 18 0 2600 412 344 S 0.0 0.0 0:00.00 mingetty
3025 root 18 0 2600 416 344 S 0.0 0.0 0:00.00 mingetty
3521 root 16 0 54040 1620 1192 S 0.0 0.1 0:00.03 bash
3571 root 17 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_2
3572 root 18 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_3
3573 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_4
3574 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_5
3575 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_6
3576 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_7
3577 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_8
3578 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_9
3975 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_10
3976 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_11
3977 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_12
3979 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_13
3980 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_14
3981 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_15
3982 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_16
3983 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_17
4727 root 15 0 54040 1616 1192 S 0.0 0.1 0:00.03 bash
5397 root 16 0 53800 572 472 S 0.0 0.0 0:00.21 tail
6355 root 15 0 54044 1620 1192 S 0.0 0.1 0:00.03 bash
9305 root 16 0 6212 976 744 R 0.0 0.0 0:00.16 top
9581 root 15 0 54040 1616 1192 S 0.0 0.1 0:00.03 bash
10572 root 16 0 6212 992 760 S 0.0 0.0 0:00.08 top
top - 11:27:18 up 9 min, 4 users, load average: 0.99, 0.71, 0.33
Tasks: 91 total, 2 running, 89 sleeping, 0 stopped, 0 zombie
Cpu(s): 21.0% us, 4.7% sy, 0.0% ni, 69.6% id, 4.8% wa, 0.0% hi, 0.0% si
Mem: 2055388k total, 2033760k used, 21628k free, 6468k buffers
Swap: 4192956k total, 0k used, 4192956k free, 82476k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4550 root 23 0 1886m 1.8g 48m R 96.9 93.7 4:54.22 lvm
203 root 15 0 0 0 0 S 1.0 0.0 0:00.03 kswapd0
1 root 16 0 4820 560 464 S 0.3 0.0 0:01.24 init
9305 root 16 0 6212 976 744 R 0.3 0.0 0:00.17 top
10572 root 16 0 6212 992 760 S 0.3 0.0 0:00.09 top
2 root RT 0 0 0 0 S 0.0 0.0 0:00.01 migration/0
3 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0
4 root RT 0 0 0 0 S 0.0 0.0 0:00.01 migration/1
5 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/1
6 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/2
7 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/2
8 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/3
9 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/3
10 root 10 -5 0 0 0 S 0.0 0.0 0:00.01 events/0
11 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 events/1
12 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 events/2
13 root 10 -5 0 0 0 S 0.0 0.0 0:00.01 events/3
14 root 10 -5 0 0 0 S 0.0 0.0 0:00.05 khelper
15 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kthread
21 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kacpid
123 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kblockd/0
124 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kblockd/1
125 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kblockd/2
126 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kblockd/3
201 root 15 0 0 0 0 S 0.0 0.0 0:00.00 pdflush
202 root 15 0 0 0 0 S 0.0 0.0 0:00.00 pdflush
204 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 aio/0
205 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 aio/1
206 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 aio/2
207 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 aio/3
282 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kseriod
344 root 16 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_0
345 root 15 0 0 0 0 S 0.0 0.0 0:00.00 ahd_dv_0
347 root 16 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_1
348 root 15 0 0 0 0 S 0.0 0.0 0:00.00 ahd_dv_1
361 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kcryptd/0
362 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kcryptd/1
363 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kcryptd/2
364 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kcryptd/3
365 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kmpathd/0
366 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kmpathd/1
367 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kmpathd/2
368 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kmpathd/3
369 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kmirrord
389 root 15 0 0 0 0 S 0.0 0.0 0:00.23 kjournald
1220 root 10 -5 3680 456 368 S 0.0 0.0 0:00.17 udevd
1343 root 19 0 0 0 0 S 0.0 0.0 0:00.00 shpchpd_event
1456 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kauditd
1605 root 19 0 0 0 0 S 0.0 0.0 0:00.00 kjournald
2613 root 16 0 4500 1284 772 S 0.0 0.1 0:00.00 dhclient
2653 root 16 0 3696 620 504 S 0.0 0.0 0:00.04 syslogd
2657 root 16 0 2612 496 412 S 0.0 0.0 0:00.00 klogd
2668 root 16 0 2628 524 416 S 0.0 0.0 0:00.01 irqbalance
2796 root 18 0 2920 868 616 S 0.0 0.0 0:00.00 smartd
2806 root 19 0 2608 552 464 S 0.0 0.0 0:00.00 acpid
2854 root 15 0 22020 2088 1640 S 0.0 0.1 0:00.03 sshd
2869 root 15 0 8784 880 708 S 0.0 0.0 0:00.00 xinetd
2888 ntp 16 0 18632 5368 4224 S 0.0 0.3 0:00.01 ntpd
2898 root 16 0 4252 528 444 S 0.0 0.0 0:00.00 gpm
2908 root 16 0 57120 1188 740 S 0.0 0.1 0:00.00 crond
2931 xfs 18 0 10320 1712 772 S 0.0 0.1 0:00.02 xfs
2941 root 35 19 2604 648 536 S 0.0 0.0 0:00.00 anacron
2950 root 16 0 9032 808 648 S 0.0 0.0 0:00.00 atd
2960 dbus 16 0 9760 1232 1060 S 0.0 0.1 0:00.17 dbus-daemon-1
3020 root 17 0 27632 1312 1004 S 0.0 0.1 0:00.01 login
3021 root 16 0 27636 1316 1004 S 0.0 0.1 0:00.00 login
3022 root 16 0 27632 1312 1004 S 0.0 0.1 0:00.00 login
3023 root 16 0 27632 1312 1004 S 0.0 0.1 0:00.01 login
3024 root 18 0 2600 412 344 S 0.0 0.0 0:00.00 mingetty
3025 root 18 0 2600 416 344 S 0.0 0.0 0:00.00 mingetty
3521 root 16 0 54040 1620 1192 S 0.0 0.1 0:00.03 bash
3571 root 17 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_2
3572 root 18 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_3
3573 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_4
3574 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_5
3575 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_6
3576 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_7
3577 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_8
3578 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_9
3975 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_10
3976 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_11
3977 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_12
3979 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_13
3980 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_14
3981 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_15
3982 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_16
3983 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_17
4727 root 15 0 54040 1616 1192 S 0.0 0.1 0:00.03 bash
5397 root 16 0 53800 572 472 S 0.0 0.0 0:00.21 tail
6355 root 15 0 54044 1620 1192 S 0.0 0.1 0:00.03 bash
9581 root 15 0 54040 1616 1192 S 0.0 0.1 0:00.03 bash
top - 11:27:21 up 10 min, 4 users, load average: 0.99, 0.71, 0.34
Tasks: 91 total, 2 running, 89 sleeping, 0 stopped, 0 zombie
Cpu(s): 19.9% us, 6.3% sy, 0.0% ni, 69.6% id, 4.1% wa, 0.1% hi, 0.1% si
Mem: 2055388k total, 2032396k used, 22992k free, 1252k buffers
Swap: 4192956k total, 44k used, 4192912k free, 70580k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4550 root 22 0 1902m 1.9g 48m R 97.5 94.5 4:57.15 lvm
203 root 15 0 0 0 0 S 2.3 0.0 0:00.10 kswapd0
14 root 10 -5 0 0 0 S 0.3 0.0 0:00.06 khelper
5397 root 16 0 53800 572 472 S 0.3 0.0 0:00.22 tail
10572 root 16 0 6212 992 760 S 0.3 0.0 0:00.10 top
1 root 16 0 4820 560 464 S 0.0 0.0 0:01.24 init
2 root RT 0 0 0 0 S 0.0 0.0 0:00.01 migration/0
3 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0
4 root RT 0 0 0 0 S 0.0 0.0 0:00.01 migration/1
5 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/1
6 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/2
7 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/2
8 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/3
9 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/3
10 root 10 -5 0 0 0 S 0.0 0.0 0:00.01 events/0
11 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 events/1
12 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 events/2
13 root 10 -5 0 0 0 S 0.0 0.0 0:00.01 events/3
15 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kthread
21 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kacpid
123 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kblockd/0
124 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kblockd/1
125 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kblockd/2
126 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kblockd/3
201 root 15 0 0 0 0 S 0.0 0.0 0:00.00 pdflush
202 root 15 0 0 0 0 S 0.0 0.0 0:00.00 pdflush
204 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 aio/0
205 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 aio/1
206 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 aio/2
207 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 aio/3
282 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kseriod
344 root 16 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_0
345 root 15 0 0 0 0 S 0.0 0.0 0:00.00 ahd_dv_0
347 root 16 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_1
348 root 15 0 0 0 0 S 0.0 0.0 0:00.00 ahd_dv_1
361 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kcryptd/0
362 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kcryptd/1
363 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kcryptd/2
364 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kcryptd/3
365 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kmpathd/0
366 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kmpathd/1
367 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kmpathd/2
368 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kmpathd/3
369 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kmirrord
389 root 15 0 0 0 0 S 0.0 0.0 0:00.23 kjournald
1220 root 10 -5 3680 456 368 S 0.0 0.0 0:00.17 udevd
1343 root 19 0 0 0 0 S 0.0 0.0 0:00.00 shpchpd_event
1456 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kauditd
1605 root 19 0 0 0 0 S 0.0 0.0 0:00.00 kjournald
2613 root 16 0 4500 1212 744 S 0.0 0.1 0:00.00 dhclient
2653 root 16 0 3696 620 504 S 0.0 0.0 0:00.04 syslogd
2657 root 16 0 2612 496 412 S 0.0 0.0 0:00.00 klogd
2668 root 16 0 2628 524 416 S 0.0 0.0 0:00.01 irqbalance
2796 root 18 0 2920 868 616 S 0.0 0.0 0:00.00 smartd
2806 root 19 0 2608 552 464 S 0.0 0.0 0:00.00 acpid
2854 root 15 0 22020 2088 1640 S 0.0 0.1 0:00.03 sshd
2869 root 15 0 8784 880 708 S 0.0 0.0 0:00.00 xinetd
2888 ntp 16 0 18632 5368 4224 S 0.0 0.3 0:00.01 ntpd
2898 root 16 0 4252 528 444 S 0.0 0.0 0:00.00 gpm
2908 root 16 0 57120 1188 740 S 0.0 0.1 0:00.00 crond
2931 xfs 18 0 10320 1712 772 S 0.0 0.1 0:00.02 xfs
2941 root 35 19 2604 648 536 S 0.0 0.0 0:00.00 anacron
2950 root 16 0 9032 808 648 S 0.0 0.0 0:00.00 atd
2960 dbus 16 0 9760 1232 1060 S 0.0 0.1 0:00.17 dbus-daemon-1
3020 root 17 0 27632 1312 1004 S 0.0 0.1 0:00.01 login
3021 root 16 0 27636 1316 1004 S 0.0 0.1 0:00.00 login
3022 root 16 0 27632 1312 1004 S 0.0 0.1 0:00.00 login
3023 root 16 0 27632 1312 1004 S 0.0 0.1 0:00.01 login
3024 root 18 0 2600 412 344 S 0.0 0.0 0:00.00 mingetty
3025 root 18 0 2600 416 344 S 0.0 0.0 0:00.00 mingetty
3521 root 16 0 54040 1620 1192 S 0.0 0.1 0:00.03 bash
3571 root 17 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_2
3572 root 18 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_3
3573 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_4
3574 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_5
3575 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_6
3576 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_7
3577 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_8
3578 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_9
3975 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_10
3976 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_11
3977 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_12
3979 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_13
3980 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_14
3981 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_15
3982 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_16
3983 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_17
4727 root 15 0 54040 1616 1192 S 0.0 0.1 0:00.03 bash
6355 root 15 0 54044 1620 1192 S 0.0 0.1 0:00.03 bash
9305 root 16 0 6212 976 744 R 0.0 0.0 0:00.17 top
9581 root 15 0 54040 1616 1192 S 0.0 0.1 0:00.03 bash
top - 11:27:24 up 10 min, 4 users, load average: 0.99, 0.71, 0.34
Tasks: 91 total, 1 running, 90 sleeping, 0 stopped, 0 zombie
Cpu(s): 18.7% us, 5.9% sy, 0.0% ni, 67.3% id, 8.0% wa, 0.0% hi, 0.0% si
Mem: 2055388k total, 2041136k used, 14252k free, 192k buffers
Swap: 4192956k total, 2304k used, 4190652k free, 58236k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4550 root 18 0 1927m 1.9g 48m D 94.9 95.6 5:00.00 lvm
203 root 15 0 0 0 0 D 3.3 0.0 0:00.20 kswapd0
9305 root 17 0 6212 968 736 R 1.0 0.0 0:00.20 top
13 root 10 -5 0 0 0 S 0.3 0.0 0:00.02 events/3
1 root 16 0 4820 464 440 S 0.0 0.0 0:01.24 init
2 root RT 0 0 0 0 S 0.0 0.0 0:00.01 migration/0
3 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0
4 root RT 0 0 0 0 S 0.0 0.0 0:00.01 migration/1
5 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/1
6 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/2
7 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/2
8 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/3
9 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/3
10 root 10 -5 0 0 0 S 0.0 0.0 0:00.01 events/0
11 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 events/1
12 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 events/2
14 root 10 -5 0 0 0 S 0.0 0.0 0:00.06 khelper
15 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kthread
21 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kacpid
123 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kblockd/0
124 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kblockd/1
125 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kblockd/2
126 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kblockd/3
201 root 15 0 0 0 0 S 0.0 0.0 0:00.00 pdflush
202 root 15 0 0 0 0 S 0.0 0.0 0:00.00 pdflush
204 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 aio/0
205 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 aio/1
206 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 aio/2
207 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 aio/3
282 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kseriod
344 root 16 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_0
345 root 15 0 0 0 0 S 0.0 0.0 0:00.00 ahd_dv_0
347 root 16 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_1
348 root 15 0 0 0 0 S 0.0 0.0 0:00.00 ahd_dv_1
361 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kcryptd/0
362 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kcryptd/1
363 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kcryptd/2
364 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kcryptd/3
365 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kmpathd/0
366 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kmpathd/1
367 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kmpathd/2
368 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kmpathd/3
369 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kmirrord
389 root 15 0 0 0 0 S 0.0 0.0 0:00.23 kjournald
1220 root 10 -5 3680 412 364 S 0.0 0.0 0:00.17 udevd
1343 root 19 0 0 0 0 S 0.0 0.0 0:00.00 shpchpd_event
1456 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kauditd
1605 root 19 0 0 0 0 S 0.0 0.0 0:00.00 kjournald
2613 root 16 0 4500 472 472 S 0.0 0.0 0:00.00 dhclient
2653 root 16 0 3696 472 472 S 0.0 0.0 0:00.04 syslogd
2657 root 16 0 2612 392 392 S 0.0 0.0 0:00.00 klogd
2668 root 16 0 2628 484 412 S 0.0 0.0 0:00.01 irqbalance
2796 root 18 0 2920 484 484 S 0.0 0.0 0:00.00 smartd
2806 root 19 0 2608 448 448 S 0.0 0.0 0:00.00 acpid
2854 root 15 0 22020 604 604 S 0.0 0.0 0:00.03 sshd
2869 root 15 0 8784 552 552 S 0.0 0.0 0:00.00 xinetd
2888 ntp 16 0 18632 5368 4224 S 0.0 0.3 0:00.01 ntpd
2898 root 16 0 4252 516 444 S 0.0 0.0 0:00.00 gpm
2908 root 16 0 57120 1072 668 S 0.0 0.1 0:00.00 crond
2931 xfs 18 0 10320 1708 772 S 0.0 0.1 0:00.02 xfs
2941 root 35 19 2604 648 536 S 0.0 0.0 0:00.00 anacron
2950 root 16 0 9032 676 576 S 0.0 0.0 0:00.00 atd
2960 dbus 16 0 9760 1084 948 S 0.0 0.1 0:00.17 dbus-daemon-1
3020 root 17 0 27632 1212 904 S 0.0 0.1 0:00.01 login
3021 root 16 0 27636 1216 904 S 0.0 0.1 0:00.00 login
3022 root 16 0 27632 1212 904 S 0.0 0.1 0:00.00 login
3023 root 16 0 27632 1212 904 S 0.0 0.1 0:00.01 login
3024 root 18 0 2600 412 344 S 0.0 0.0 0:00.00 mingetty
3025 root 18 0 2600 416 344 S 0.0 0.0 0:00.00 mingetty
3521 root 16 0 54040 1616 1188 S 0.0 0.1 0:00.03 bash
3571 root 17 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_2
3572 root 18 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_3
3573 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_4
3574 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_5
3575 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_6
3576 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_7
3577 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_8
3578 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_9
3975 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_10
3976 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_11
3977 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_12
3979 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_13
3980 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_14
3981 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_15
3982 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_16
3983 root 19 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_17
4727 root 15 0 54040 1612 1188 S 0.0 0.1 0:00.03 bash
5397 root 16 0 53800 516 416 S 0.0 0.0 0:00.22 tail
6355 root 15 0 54044 1616 1188 S 0.0 0.1 0:00.03 bash
9581 root 15 0 54040 1612 1188 S 0.0 0.1 0:00.03 bash
10572 root 16 0 6212 984 752 S 0.0 0.0 0:00.10 top
[-- Attachment #4: vgscanlog --]
[-- Type: text/plain, Size: 10742 bytes --]
#mm/memlock.c:118 Unlocking memory
#mm/memlock.c:137 memlock_count dec to 0
#activate/fs.c:171 Linking /dev/vg1/v676 -> /dev/mapper/vg1-v676
#locking/file_locking.c:245 Locking LV 8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCezkCi0wgOPSHTHZbalc5R7a2iAVL0LRT2 (R)
#metadata/metadata.c:1171 Finding volume group for uuid 8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCezkCi0wgOPSHTHZbalc5R7a2iAVL0LRT2
#label/label.c:167 /dev/md0: lvm2 label detected
#label/label.c:167 /dev/md1: lvm2 label detected
#label/label.c:167 /dev/md0: lvm2 label detected
#label/label.c:167 /dev/md1: lvm2 label detected
#format_text/format-text.c:320 Read vg1 metadata (3001) from /dev/md0 at 272384 size 706783
#label/label.c:167 /dev/md0: lvm2 label detected
#label/label.c:167 /dev/md1: lvm2 label detected
#format_text/format-text.c:320 Read vg1 metadata (3001) from /dev/md1 at 272384 size 706783
#metadata/metadata.c:1177 Found volume group "vg1"
#activate/activate.c:359 Getting device info for vg1-v677
#ioctl/libdm-iface.c:1450 dm info LVM-8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCezkCi0wgOPSHTHZbalc5R7a2iAVL0LRT2 N [16384]
#ioctl/libdm-iface.c:1450 dm info 8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCezkCi0wgOPSHTHZbalc5R7a2iAVL0LRT2 N [16384]
#ioctl/libdm-iface.c:1450 dm info vg1-v677 N [16384]
#mm/memlock.c:99 Locking memory
#mm/memlock.c:130 memlock_count inc to 1
#activate/dev_manager.c:588 Getting device info for vg1-v677 [LVM-8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCezkCi0wgOPSHTHZbalc5R7a2iAVL0LRT2]
#ioctl/libdm-iface.c:1450 dm info LVM-8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCezkCi0wgOPSHTHZbalc5R7a2iAVL0LRT2 O [16384]
#ioctl/libdm-iface.c:1450 dm info 8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCezkCi0wgOPSHTHZbalc5R7a2iAVL0LRT2 O [16384]
#ioctl/libdm-iface.c:1450 dm info vg1-v677 O [16384]
#activate/dev_manager.c:588 Getting device info for vg1-v677-real [LVM-8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCezkCi0wgOPSHTHZbalc5R7a2iAVL0LRT2-real]
#ioctl/libdm-iface.c:1450 dm info LVM-8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCezkCi0wgOPSHTHZbalc5R7a2iAVL0LRT2-real O [16384]
#ioctl/libdm-iface.c:1450 dm info 8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCezkCi0wgOPSHTHZbalc5R7a2iAVL0LRT2-real O [16384]
#ioctl/libdm-iface.c:1450 dm info vg1-v677-real O [16384]
#activate/dev_manager.c:588 Getting device info for vg1-v677-cow [LVM-8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCezkCi0wgOPSHTHZbalc5R7a2iAVL0LRT2-cow]
#ioctl/libdm-iface.c:1450 dm info LVM-8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCezkCi0wgOPSHTHZbalc5R7a2iAVL0LRT2-cow O [16384]
#ioctl/libdm-iface.c:1450 dm info 8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCezkCi0wgOPSHTHZbalc5R7a2iAVL0LRT2-cow O [16384]
#ioctl/libdm-iface.c:1450 dm info vg1-v677-cow O [16384]
#libdm-deptree.c:1134 Creating vg1-v677
#ioctl/libdm-iface.c:1450 dm create vg1-v677 LVM-8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCezkCi0wgOPSHTHZbalc5R7a2iAVL0LRT2 N [16384]
#libdm-deptree.c:1352 Loading vg1-v677 table
#libdm-deptree.c:1303 Adding target: 0 2097152 linear 9:0 1417678976
#ioctl/libdm-iface.c:1450 dm table (253:676) O [16384]
#ioctl/libdm-iface.c:1450 dm reload (253:676) N [16384]
#libdm-deptree.c:877 Resuming vg1-v677 (253:676)
#ioctl/libdm-iface.c:1450 dm resume (253:676) N [16384]
#activate/dev_manager.c:588 Getting device info for vg1-v677 [LVM-8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCezkCi0wgOPSHTHZbalc5R7a2iAVL0LRT2]
#ioctl/libdm-iface.c:1450 dm info LVM-8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCezkCi0wgOPSHTHZbalc5R7a2iAVL0LRT2 O [16384]
#ioctl/libdm-iface.c:1450 dm deps (253:676) O [16384]
#activate/dev_manager.c:588 Getting device info for vg1-v677-real [LVM-8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCezkCi0wgOPSHTHZbalc5R7a2iAVL0LRT2-real]
#ioctl/libdm-iface.c:1450 dm info LVM-8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCezkCi0wgOPSHTHZbalc5R7a2iAVL0LRT2-real O [16384]
#ioctl/libdm-iface.c:1450 dm info 8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCezkCi0wgOPSHTHZbalc5R7a2iAVL0LRT2-real O [16384]
#ioctl/libdm-iface.c:1450 dm info vg1-v677-real O [16384]
#activate/dev_manager.c:588 Getting device info for vg1-v677-cow [LVM-8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCezkCi0wgOPSHTHZbalc5R7a2iAVL0LRT2-cow]
#ioctl/libdm-iface.c:1450 dm info LVM-8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCezkCi0wgOPSHTHZbalc5R7a2iAVL0LRT2-cow O [16384]
#ioctl/libdm-iface.c:1450 dm info 8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCezkCi0wgOPSHTHZbalc5R7a2iAVL0LRT2-cow O [16384]
#ioctl/libdm-iface.c:1450 dm info vg1-v677-cow O [16384]
#mm/memlock.c:118 Unlocking memory
#mm/memlock.c:137 memlock_count dec to 0
#activate/fs.c:171 Linking /dev/vg1/v677 -> /dev/mapper/vg1-v677
#locking/file_locking.c:245 Locking LV 8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCejSzi1SuM3uO3NWrpDB2Fle5A3Uv6i367 (R)
#metadata/metadata.c:1171 Finding volume group for uuid 8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCejSzi1SuM3uO3NWrpDB2Fle5A3Uv6i367
#label/label.c:167 /dev/md0: lvm2 label detected
#label/label.c:167 /dev/md1: lvm2 label detected
#label/label.c:167 /dev/md0: lvm2 label detected
#label/label.c:167 /dev/md1: lvm2 label detected
#format_text/format-text.c:320 Read vg1 metadata (3001) from /dev/md0 at 272384 size 706783
#label/label.c:167 /dev/md0: lvm2 label detected
#label/label.c:167 /dev/md1: lvm2 label detected
#format_text/format-text.c:320 Read vg1 metadata (3001) from /dev/md1 at 272384 size 706783
#metadata/metadata.c:1177 Found volume group "vg1"
#activate/activate.c:359 Getting device info for vg1-v678
#ioctl/libdm-iface.c:1450 dm info LVM-8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCejSzi1SuM3uO3NWrpDB2Fle5A3Uv6i367 N [16384]
#ioctl/libdm-iface.c:1450 dm info 8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCejSzi1SuM3uO3NWrpDB2Fle5A3Uv6i367 N [16384]
#ioctl/libdm-iface.c:1450 dm info vg1-v678 N [16384]
#mm/memlock.c:99 Locking memory
#mm/memlock.c:130 memlock_count inc to 1
#activate/dev_manager.c:588 Getting device info for vg1-v678 [LVM-8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCejSzi1SuM3uO3NWrpDB2Fle5A3Uv6i367]
#ioctl/libdm-iface.c:1450 dm info LVM-8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCejSzi1SuM3uO3NWrpDB2Fle5A3Uv6i367 O [16384]
#ioctl/libdm-iface.c:1450 dm info 8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCejSzi1SuM3uO3NWrpDB2Fle5A3Uv6i367 O [16384]
#ioctl/libdm-iface.c:1450 dm info vg1-v678 O [16384]
#activate/dev_manager.c:588 Getting device info for vg1-v678-real [LVM-8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCejSzi1SuM3uO3NWrpDB2Fle5A3Uv6i367-real]
#ioctl/libdm-iface.c:1450 dm info LVM-8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCejSzi1SuM3uO3NWrpDB2Fle5A3Uv6i367-real O [16384]
#ioctl/libdm-iface.c:1450 dm info 8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCejSzi1SuM3uO3NWrpDB2Fle5A3Uv6i367-real O [16384]
#ioctl/libdm-iface.c:1450 dm info vg1-v678-real O [16384]
#activate/dev_manager.c:588 Getting device info for vg1-v678-cow [LVM-8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCejSzi1SuM3uO3NWrpDB2Fle5A3Uv6i367-cow]
#ioctl/libdm-iface.c:1450 dm info LVM-8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCejSzi1SuM3uO3NWrpDB2Fle5A3Uv6i367-cow O [16384]
#ioctl/libdm-iface.c:1450 dm info 8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCejSzi1SuM3uO3NWrpDB2Fle5A3Uv6i367-cow O [16384]
#ioctl/libdm-iface.c:1450 dm info vg1-v678-cow O [16384]
#libdm-deptree.c:1134 Creating vg1-v678
#ioctl/libdm-iface.c:1450 dm create vg1-v678 LVM-8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCejSzi1SuM3uO3NWrpDB2Fle5A3Uv6i367 N [16384]
#libdm-deptree.c:1352 Loading vg1-v678 table
#libdm-deptree.c:1303 Adding target: 0 2097152 linear 9:0 1419776128
#ioctl/libdm-iface.c:1450 dm table (253:677) O [16384]
#ioctl/libdm-iface.c:1450 dm reload (253:677) N [16384]
#libdm-deptree.c:877 Resuming vg1-v678 (253:677)
#ioctl/libdm-iface.c:1450 dm resume (253:677) N [16384]
#activate/dev_manager.c:588 Getting device info for vg1-v678 [LVM-8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCejSzi1SuM3uO3NWrpDB2Fle5A3Uv6i367]
#ioctl/libdm-iface.c:1450 dm info LVM-8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCejSzi1SuM3uO3NWrpDB2Fle5A3Uv6i367 O [16384]
#ioctl/libdm-iface.c:1450 dm deps (253:677) O [16384]
#activate/dev_manager.c:588 Getting device info for vg1-v678-real [LVM-8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCejSzi1SuM3uO3NWrpDB2Fle5A3Uv6i367-real]
#ioctl/libdm-iface.c:1450 dm info LVM-8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCejSzi1SuM3uO3NWrpDB2Fle5A3Uv6i367-real O [16384]
#ioctl/libdm-iface.c:1450 dm info 8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCejSzi1SuM3uO3NWrpDB2Fle5A3Uv6i367-real O [16384]
#ioctl/libdm-iface.c:1450 dm info vg1-v678-real O [16384]
#activate/dev_manager.c:588 Getting device info for vg1-v678-cow [LVM-8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCejSzi1SuM3uO3NWrpDB2Fle5A3Uv6i367-cow]
#ioctl/libdm-iface.c:1450 dm info LVM-8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCejSzi1SuM3uO3NWrpDB2Fle5A3Uv6i367-cow O [16384]
#ioctl/libdm-iface.c:1450 dm info 8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCejSzi1SuM3uO3NWrpDB2Fle5A3Uv6i367-cow O [16384]
#ioctl/libdm-iface.c:1450 dm info vg1-v678-cow O [16384]
#mm/memlock.c:118 Unlocking memory
#mm/memlock.c:137 memlock_count dec to 0
#activate/fs.c:171 Linking /dev/vg1/v678 -> /dev/mapper/vg1-v678
#locking/file_locking.c:245 Locking LV 8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCeL0DcqwlzsZSb0p6eIhXnV2uyE8KNAZG2 (R)
#metadata/metadata.c:1171 Finding volume group for uuid 8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCeL0DcqwlzsZSb0p6eIhXnV2uyE8KNAZG2
#label/label.c:167 /dev/md0: lvm2 label detected
#label/label.c:167 /dev/md1: lvm2 label detected
#label/label.c:167 /dev/md0: lvm2 label detected
#label/label.c:167 /dev/md1: lvm2 label detected
#format_text/format-text.c:320 Read vg1 metadata (3001) from /dev/md0 at 272384 size 706783
#label/label.c:167 /dev/md0: lvm2 label detected
#label/label.c:167 /dev/md1: lvm2 label detected
#format_text/format-text.c:320 Read vg1 metadata (3001) from /dev/md1 at 272384 size 706783
#metadata/metadata.c:1177 Found volume group "vg1"
#activate/activate.c:359 Getting device info for vg1-v679
#ioctl/libdm-iface.c:1450 dm info LVM-8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCeL0DcqwlzsZSb0p6eIhXnV2uyE8KNAZG2 N [16384]
#ioctl/libdm-iface.c:1450 dm info 8ZZaL55BvKV1b8qj3z60KZBVJOrnHyCeL0DcqwlzsZSb0p6eIhXnV2uyE8KNAZG2 N [16384]
#ioctl/libdm-iface.c:1450 dm info vg1-v679 N [16384]
#mm/memlock.c:99 Locking memory
^ permalink raw reply
* Re: [Bluez-devel] obtainining client BTADDR during obexserver (1.0-3) session?
From: Collin R. Mulliner @ 2006-04-29 21:49 UTC (permalink / raw)
To: bluez-devel
In-Reply-To: <4453D6C5.6090905@gmail.com>
Hi,
checkout sobexsrv at http://www.mulliner.org/bluetooth/sobexsrv.php its
a secriptable obexserver.
Collin
On Sat, 2006-04-29 at 17:12 -0400, JP Freeley wrote:
> How would I obtain the BTADDR of the connecting remote device when it
> connects to obexserver (1.0-3)? I would like the server to accept a
> file, parse it and reply accordingly to the device which sent it.
>
> Any help, direction, pointers, snippets would be greatly appreciated.
>
> Thanks,
>
> jpf
>
>
> -------------------------------------------------------
> Using Tomcat but need to do more? Need to support web services, security?
> Get stuff done quickly with pre-integrated technology to make your job easier
> Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> _______________________________________________
> Bluez-devel mailing list
> Bluez-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bluez-devel
--
Collin R. Mulliner <collin@betaversion.net>
BETAVERSiON Systems [www.betaversion.net]
info/pgp: finger collin@betaversion.net
If Bill Gates had a nickel for every time Windows crashed... Oh wait, he
does!
-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel
^ permalink raw reply
* [PATCH] cg-admin-rewritehist: fix reappearing files with --filter-tree.
From: Johannes Sixt @ 2006-04-29 21:45 UTC (permalink / raw)
With --filter-tree a working copy is checked out for each commit.
However, if a file is removed by a commit, the file is _not_ removed
from the working copy by git-checkout-index. This must be done explicitly,
otherwise the file becomes added back again.
Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
---
cg-admin-rewritehist | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
26bb71a2d3d583d9eee10f4e950ff1b7d400e975
diff --git a/cg-admin-rewritehist b/cg-admin-rewritehist
index 7dd83cf..13ffb5d 100755
--- a/cg-admin-rewritehist
+++ b/cg-admin-rewritehist
@@ -213,10 +213,13 @@ while read commit; do
if [ "$filter_tree" ]; then
git-checkout-index -f -u -a
+ # files that $commit removed are now still in the working tree;
+ # remove them, else they would be added again
+ git-ls-files -z --others | xargs -0 rm -f
eval "$filter_tree"
git-diff-index -r $commit | cut -f 2- | tr '\n' '\0' | \
xargs -0 git-update-index --add --replace --remove
- git-ls-files --others | tr '\n' '\0' | \
+ git-ls-files -z --others | \
xargs -0 git-update-index --add --replace --remove
fi
--
1.3.1.gaa6b
^ permalink raw reply related
* [PATCH] cg-admin-rewritehist: Seed the commit map with the parents specified with -r.
From: Johannes Sixt @ 2006-04-29 21:45 UTC (permalink / raw)
When the first commit is manufactured, its parents are looked up in the
commit map. However, without this patch the map is always empty at that time.
If the entire history is rewritten, this is no problem because the first
commit does not have any parents anyway. However, if -r is used to constrain
rewriting to only part of the history, this first commit is manufactured
incorrectly without parents because 'cat' fails.
Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
---
cg-admin-rewritehist | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
977fc81815877a1e72040355b221fe8d62593eb7
diff --git a/cg-admin-rewritehist b/cg-admin-rewritehist
index 9fa4c2a..7dd83cf 100755
--- a/cg-admin-rewritehist
+++ b/cg-admin-rewritehist
@@ -141,6 +141,7 @@ _git_requires_root=1
tempdir=.git-rewrite
startrev=
+startrevparents=
filter_env=
filter_tree=
filter_index=
@@ -152,6 +153,7 @@ while optparse; do
tempdir="$OPTARG"
elif optparse -r=; then
startrev="^$OPTARG^ $OPTARG $startrev"
+ startrevparents="$OPTARG^ $startrevparents"
elif optparse --env-filter=; then
filter_env="$OPTARG"
elif optparse --tree-filter=; then
@@ -186,6 +188,12 @@ ret=0
mkdir ../map # map old->new commit ids for rewriting parents
+# seed with identity mappings for the parents where we start off
+for commit in $startrevparents; do
+ commit="$(git-rev-parse $commit)"
+ echo $commit > ../map/$commit
+done
+
git-rev-list --topo-order HEAD $startrev | tac >../revs
commits=$(cat ../revs | wc -l)
--
1.3.1.gaa6b
^ permalink raw reply related
* Re: [PATCH 10/12] fbdev: Static pseudocolor with depth less than 4 does exist
From: Antonino A. Daplas @ 2006-04-29 21:42 UTC (permalink / raw)
To: Geert Uytterhoeven
Cc: Linux Frame Buffer Device Development, Andrew Morton, Linux/m68k
In-Reply-To: <Pine.LNX.4.62.0604292025410.4557@pademelon.sonytel.be>
Geert Uytterhoeven wrote:
> [ linux-mac68k@mac.linux-m68k.org removed as it seems to bounce? ]
>
> On Sat, 29 Apr 2006, Antonino A. Daplas wrote:
>> Geert Uytterhoeven wrote:
>>> On Sat, 29 Apr 2006, Antonino A. Daplas wrote:
>>>> A static pseudocolor visual with depth less than 4 does exist, so let's
>>>> not accidentally upscale the depth with this configuration
>>> Yes it does, at least on Mac/m68k.
>>>
>>> Now the real question is: why doesn't macfb set FB_VISUAL_STATIC_PSEUDOCOLOR if
>>> there's no macfb_setpalette routine?
>> It should. The other question is, what to do with static pseudocolor?
>> Do we always assume console colors? Or do we make drivers fill their own
>> info->cmap entries and not alter the contents when fb_set_cmap() is called?
>
> I don't think you can always assume console colors. Only the driver (if anyone
> knows at all) knows the palette.
>
> On the other hand, at least on Mac/m68k the palette is inherited from MacOS.
> It would be possible for the Penguin booter to programs the standard console
> palette under MacOS, just before booting the kernel, but as I don't know much
> about Penguin, I have no idea whether that's currently done.
>
Making the palette match the console would be the simplest solution. Otherwise,
we make the drivers export a color map which will be read-only. Then fbcon and
other clients will just have to alter their palette to best fit the hardware.
Tony
-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
^ permalink raw reply
* Re: cg-clone not fetching all tags?
From: Johannes Sixt @ 2006-04-29 21:42 UTC (permalink / raw)
To: git
In-Reply-To: <20060429170542.GJ27689@pasky.or.cz>
On Saturday 29 April 2006 19:05, Petr Baudis wrote:
> Hi,
>
> Dear diary, on Sat, Apr 29, 2006 at 04:00:42PM CEST, I got a letter
> where Wolfgang Denk <wd@denx.de> said that...
>
> > it seems that "cg-clone" does not fetch all tags any more - only the
> > most recent ones (modiufied in the last N days?) seem to be fetched?
> > [Eventually the "N days" might correspond to "changing tools to
> > version X", but I have no way to find out.]
> >
> > This happens only when using HTTP; using ssh or rsync works fine.
> > Also, if we follow the "cg-clone" by a "git-fetch -t" command, this
> > will load the missing tags.
> >
> > Is this intentional, or am I doing anything wrong?
> >
> > [For testing, try "cg-clone http://www.denx.de/git/u-boot.git"]
>
> you need to run git-update-server-info every time you add or update a
> tag (or best every time you push). See the NOTES section of
> cg-admin-setuprepo documentation for details on how to set it up to be
> called automagically at every push.
There are two types of tags: They can point to
1. a commit object
2. a proper tag object (which in turn references the commit)
git-update-server-info seems to generate info only for case 2, and so are the
only ones that http can fetch.
-- Hannes
^ permalink raw reply
* Log flood: "scheduling while atomic" (2.6.15.x, 2.6.16.x)
From: Darren Salt @ 2006-04-29 20:45 UTC (permalink / raw)
To: linux-kernel
I'm seeing bouts of log flooding caused by something presumably not releasing
a lock. I've looked at some of the messages, but at around 100/s, I'm not too
keen to look through the whole lot :-)
scheduling while atomic: swapper/0xafbfffff/0
[show_trace+19/32]
[dump_stack+30/32]
[schedule+1278/1472]
[cpu_idle+88/96]
[stext+44/64]
[start_kernel+574/704]
[L6+0/2] 0xc0100199
(Trailing parts of some lines have been omitted; it's all repeated data. And
some sort of rate-limiting of these messages would be nice, but some other
way to draw attention to the problem, e.g. an occasional beep, would be
good.)
The most recent instance occurred a few minutes into recording a TV programme
(via vdr) from a cx88-based Nova-T. (I'm currently using stock drivers rather
than ones built from the v4l-dvb repository.)
Config, lspci, dmesg, modules list are attached.
Once the problem has manifest itself, attempts to shutdown tend to hang with
reports of soft lockups; keypresses trigger more scheduling-while-atomic
reports. Normal reboot fails, but rebooting via sysrq works.
I find it curious that it started happening after a power failure (actually,
a significant reduction in the supply - lights were dim, and I could power up
my printer). It's happened identically with several different kernels; I
first noticed with, IIRC, 2.6.15.4. In case it's of any significance, there's
signal booster between the aerial and the DVB cards (I'm not ruling out the
possibility that this is triggered by some weird hardware problem).
Any clues, anybody?
--
| Darren Salt | linux or ds at | nr. Ashington, | Toon
| RISC OS, Linux | youmustbejoking,demon,co,uk | Northumberland | Army
| <URL:http://www.youmustbejoking.demon.co.uk/progs.packages.html>
To neutralise unholy water, boil the hell out of it.
begin 644 dmesg,fff
M3&EN=7@@=F5R<VEO;B`R+C8N,38N,3$@*')O;W1`9FQI8F)L92D@*&=C8R!V
M97)S:6]N(#0N,"XS("A$96)I86X@-"XP+C,M,2DI(",Q(%1U92!!<'(@,C4@
M,#,Z,S$Z-3@@0E-4(#(P,#8*0DE/4RUP<F]V:61E9"!P:'ES:6-A;"!204T@
M;6%P.@H@0DE/4RUE.#(P.B`P,#`P,#`P,#`P,#`P,#`P("T@,#`P,#`P,#`P
M,#`Y9F,P,"`H=7-A8FQE*0H@0DE/4RUE.#(P.B`P,#`P,#`P,#`P,#EF8S`P
M("T@,#`P,#`P,#`P,#!A,#`P,"`H<F5S97)V960I"B!"24]3+64X,C`Z(#`P
M,#`P,#`P,#`P9C`P,#`@+2`P,#`P,#`P,#`P,3`P,#`P("AR97-E<G9E9"D*
M($))3U,M93@R,#H@,#`P,#`P,#`P,#$P,#`P,"`M(#`P,#`P,#`P,&9F9C`P
M,#`@*'5S86)L92D*($))3U,M93@R,#H@,#`P,#`P,#`P9F9F,#`P,"`M(#`P
M,#`P,#`P,&9F9C,P,#`@*$%#4$D@3E93*0H@0DE/4RUE.#(P.B`P,#`P,#`P
M,#!F9F8S,#`P("T@,#`P,#`P,#`Q,#`P,#`P,"`H04-022!D871A*0H@0DE/
M4RUE.#(P.B`P,#`P,#`P,&9F9F8P,#`P("T@,#`P,#`P,#$P,#`P,#`P,"`H
M<F5S97)V960I"C(U-4U"($Q/5TU%32!A=F%I;&%B;&4N"D]N(&YO9&4@,"!T
M;W1A;'!A9V5S.B`V-34R,`H@($1-02!Z;VYE.B`T,#DV('!A9V5S+"!,249/
M(&)A=&-H.C`*("!$34$S,B!Z;VYE.B`P('!A9V5S+"!,249/(&)A=&-H.C`*
M("!.;W)M86P@>F]N93H@-C$T,C0@<&%G97,L($Q)1D\@8F%T8V@Z,34*("!(
M:6=H365M('IO;F4Z(#`@<&%G97,L($Q)1D\@8F%T8V@Z,`I$34D@,BXS('!R
M97-E;G0N"D%#4$DZ(%)31%`@*'8P,#`@2U0R-C8@("`@("`@("`@("`@("`@
M("`@("`@("`@("`@("`@("`I($`@,'@P,#!F-S4W,`I!0U!).B!24T14("AV
M,#`Q($M4,C8V("!!5U)$04-022`P>#0R,S`R93,Q($%74D0@,'@P,#`P,#`P
M,"D@0"`P>#!F9F8S,#`P"D%#4$DZ($9!1%0@*'8P,#$@2U0R-C8@($%74D1!
M0U!)(#!X-#(S,#)E,S$@05=21"`P>#`P,#`P,#`P*2!`(#!X,&9F9C,P-#`*
M04-023H@1%-$5"`H=C`P,2!+5#(V-B`@05=21$%#4$D@,'@P,#`P,3`P,"!-
M4T94(#!X,#$P,#`P,&,I($`@,'@P,#`P,#`P,`I!0U!).B!032U4:6UE<B!)
M3R!0;W)T.B`P>#0P,#@*06QL;V-A=&EN9R!00TD@<F5S;W5R8V5S('-T87)T
M:6YG(&%T(#(P,#`P,#`P("AG87`Z(#$P,#`P,#`P.F5F9F8P,#`P*0I"=6EL
M="`Q('IO;F5L:7-T<PI+97)N96P@8V]M;6%N9"!L:6YE.B!A=71O($)/3U1?
M24U!1T4]3&EN=7@@<F\@<F]O=#TS,#(@86-P:5]I<G%?:7-A/3$R(&%P:6,]
M=F5R8F]S92!L87!I8PI,;V-A;"!!4$E#(&1I<V%B;&5D(&)Y($))3U,@+2T@
M<F5E;F%B;&EN9RX*1F]U;F0@86YD(&5N86)L960@;&]C86P@05!)0R$*;6%P
M<&5D($%024,@=&\@9F9F9F0P,#`@*&9E93`P,#`P*0I%;F%B;&EN9R!F87-T
M($9052!S879E(&%N9"!R97-T;W)E+BXN(&1O;F4N"D5N86)L:6YG('5N;6%S
M:V5D(%-)340@1E!5(&5X8V5P=&EO;B!S=7!P;W)T+BXN(&1O;F4N"DEN:71I
M86QI>FEN9R!#4%4C,`I0240@:&%S:"!T86)L92!E;G1R:65S.B`Q,#(T("AO
M<F1E<CH@,3`L(#$V,S@T(&)Y=&5S*0I$971E8W1E9"`R,#`X+CDT-"!-2'H@
M<')O8V5S<V]R+@I5<VEN9R!P;71M<B!F;W(@:&EG:"UR97,@=&EM97-O=7)C
M90I#;VYS;VQE.B!C;VQO=7(@5D=!*R`X,'@R-0I$96YT<GD@8V%C:&4@:&%S
M:"!T86)L92!E;G1R:65S.B`V-34S-B`H;W)D97(Z(#8L(#(V,C$T-"!B>71E
M<RD*26YO9&4M8V%C:&4@:&%S:"!T86)L92!E;G1R:65S.B`S,C<V."`H;W)D
M97(Z(#4L(#$S,3`W,B!B>71E<RD*365M;W)Y.B`R-34U,3)K+S(V,C`X,&L@
M879A:6QA8FQE("@R,SDX:R!K97)N96P@8V]D92P@-C`R,&L@<F5S97)V960L
M(#<R,VL@9&%T82P@,3@P:R!I;FET+"`P:R!H:6=H;65M*0I#:&5C:VEN9R!I
M9B!T:&ES('!R;V-E<W-O<B!H;VYO=7)S('1H92!74"!B:70@979E;B!I;B!S
M=7!E<G9I<V]R(&UO9&4N+BX@3VLN"D-A;&EB<F%T:6YG(&1E;&%Y('5S:6YG
M('1I;65R('-P96-I9FEC(')O=71I;F4N+B`T,#(S+C$R($)O9V]-25!3("AL
M<&H].#`T-C(T."D*4V5C=7)I='D@1G)A;65W;W)K('8Q+C`N,"!I;FET:6%L
M:7IE9`I#87!A8FEL:71Y($Q332!I;FET:6%L:7IE9`I-;W5N="UC86-H92!H
M87-H('1A8FQE(&5N=')I97,Z(#4Q,@I#4%4Z($%F=&5R(&=E;F5R:6,@:61E
M;G1I9GDL(&-A<',Z(#`S.#-F8F9F(&,Q8S-F8F9F(#`P,#`P,#`P(#`P,#`P
M,#`P(#`P,#`P,#`P(#`P,#`P,#`P(#`P,#`P,#`P"D-053H@069T97(@=F5N
M9&]R(&ED96YT:69Y+"!C87!S.B`P,S@S9F)F9B!C,6,S9F)F9B`P,#`P,#`P
M,"`P,#`P,#`P,"`P,#`P,#`P,"`P,#`P,#`P,"`P,#`P,#`P,`I#4%4Z($PQ
M($D@0V%C:&4Z(#8T2R`H-C0@8GET97,O;&EN92DL($0@8V%C:&4@-C1+("@V
M-"!B>71E<R]L:6YE*0I#4%4Z($PR($-A8VAE.B`R-39+("@V-"!B>71E<R]L
M:6YE*0I#4%4Z($%F=&5R(&%L;"!I;FET<RP@8V%P<SH@,#,X,V9B9F8@8S%C
M,V9B9F8@,#`P,#`P,#`@,#`P,#`T,C`@,#`P,#`P,#`@,#`P,#`P,#`@,#`P
M,#`P,#`*26YT96P@;6%C:&EN92!C:&5C:R!A<F-H:71E8W1U<F4@<W5P<&]R
M=&5D+@I);G1E;"!M86-H:6YE(&-H96-K(')E<&]R=&EN9R!E;F%B;&5D(&]N
M($-052,P+@I#4%4Z($%-1"!!=&AL;VXH=&TI(%A0(#(T,#`K('-T97!P:6YG
M(#`Q"D-H96-K:6YG("=H;'0G(&EN<W1R=6-T:6]N+BXN($]++@I!0U!).B!S
M971T:6YG($5,0U(@=&\@,#(P,"`H9G)O;2`P93`P*0IE;F%B;&5D($5X=$E.
M5"!O;B!#4%4C,`I5<VEN9R!L;V-A;"!!4$E#('1I;65R(&EN=&5R<G5P=',N
M"F-A;&EB<F%T:6YG($%024,@=&EM97(@+BXN"BXN+BXN($-052!C;&]C:R!S
M<&5E9"!I<R`R,#`X+C(X-#8@34AZ+@HN+BXN+B!H;W-T(&)U<R!C;&]C:R!S
M<&5E9"!I<R`R-C<N,S,Q,B!-2'HN"DY%5#H@4F5G:7-T97)E9"!P<F]T;V-O
M;"!F86UI;'D@,38*04-023H@8G5S('1Y<&4@<&-I(')E9VES=&5R960*<W!U
M<FEO=7,@.#(U.4$@:6YT97)R=7!T.B!)4E$W+@I00TDZ(%!#22!"24]3(')E
M=FES:6]N(#(N,3`@96YT<GD@870@,'AF8C0W,"P@;&%S="!B=7,],0I00TDZ
M(%5S:6YG(&-O;F9I9W5R871I;VX@='EP92`Q"D%#4$DZ(%-U8G-Y<W1E;2!R
M979I<VEO;B`R,#`V,#$R-PI!0U!).B!);G1E<G!R971E<B!E;F%B;&5D"D%#
M4$DZ(%5S:6YG(%!)0R!F;W(@:6YT97)R=7!T(')O=71I;F<*04-023H@4$-)
M(%)O;W0@0G)I9&=E(%M00TDP72`H,#`P,#HP,"D*4$-).B!0<F]B:6YG(%!#
M22!H87)D=V%R92`H8G5S(#`P*0I!0U!).B!!<W-U;64@<F]O="!B<FED9V4@
M6UQ?4T)?+E!#23!=(&)U<R!I<R`P"D)O;W0@=FED96\@9&5V:6-E(&ES(#`P
M,#`Z,#$Z,#`N,`I!0U!).B!00TD@26YT97)R=7!T(%)O=71I;F<@5&%B;&4@
M6UQ?4T)?+E!#23`N7U!25%T*04-023H@4$-)($EN=&5R<G5P="!,:6YK(%M,
M3DM!72`H25)1<R`Q(#,@-"`U(#8@-R`Q,"`J,3$@,3(@,30@,34I"D%#4$DZ
M(%!#22!);G1E<G)U<'0@3&EN:R!;3$Y+0ET@*$E247,@,2`S(#0@-2`V(#<@
M*C$P(#$Q(#$R(#$T(#$U*0I!0U!).B!00TD@26YT97)R=7!T($QI;FL@6TQ.
M2T-=("A)4E%S(#$@,R`T(#4@-B`W(#$P("HQ,2`Q,B`Q-"`Q-2D*04-023H@
M4$-)($EN=&5R<G5P="!,:6YK(%M,3DM$72`H25)1<R`Q(#,@-"`U(#8@-R`J
M,3`@,3$@,3(@,30@,34I"DQI;G5X(%!L=6<@86YD(%!L87D@4W5P<&]R="!V
M,"XY-R`H8RD@061A;2!"96QA>0IP;G`Z(%!N4"!!0U!)(&EN:70*<&YP.B!0
M;E`@04-023H@9F]U;F0@,30@9&5V:6-E<PIU<V)C;W)E.B!R96=I<W1E<F5D
M(&YE=R!D<FEV97(@=7-B9G,*=7-B8V]R93H@<F5G:7-T97)E9"!N97<@9')I
M=F5R(&AU8@I00TDZ(%5S:6YG($%#4$D@9F]R($E242!R;W5T:6YG"E!#23H@
M268@82!D979I8V4@9&]E<VXG="!W;W)K+"!T<GD@(G!C:3UR;W5T96ER<2(N
M("!)9B!I="!H96QP<RP@<&]S="!A(')E<&]R=`I00TDZ($)R:61G93H@,#`P
M,#HP,#HP,2XP"B`@24\@=VEN9&]W.B!C,#`P+6-F9F8*("!-14T@=VEN9&]W
M.B!E-#`P,#`P,"UE-69F9F9F9@H@(%!2149%5$-(('=I;F1O=SH@9#`P,#`P
M,#`M9&9F9F9F9F8*4$-).B!3971T:6YG(&QA=&5N8WD@=&EM97(@;V8@9&5V
M:6-E(#`P,#`Z,#`Z,#$N,"!T;R`V-`I-86-H:6YE(&-H96-K(&5X8V5P=&EO
M;B!P;VQL:6YG('1I;65R('-T87)T960N"DEN<W1A;&QI;F<@:VYF<V0@*&-O
M<'ER:6=H="`H0RD@,3DY-B!O:VER0&UO;F%D+G-W8BYD92DN"DEN:71I86QI
M>FEN9R!#<GEP=&]G<F%P:&EC($%020II;R!S8VAE9'5L97(@;F]O<"!R96=I
M<W1E<F5D"FEO('-C:&5D=6QE<B!A;G1I8VEP871O<GD@<F5G:7-T97)E9"`H
M9&5F875L="D*:6\@<V-H961U;&5R(&1E861L:6YE(')E9VES=&5R960*:6\@
M<V-H961U;&5R(&-F<2!R96=I<W1E<F5D"D%#4$DZ(%!#22!);G1E<G)U<'0@
M3&EN:R!;3$Y+05T@96YA8FQE9"!A="!)4E$@,3$*4$-).B!S971T:6YG($E2
M42`Q,2!A<R!L979E;"UT<FEG9V5R960*04-023H@4$-)($EN=&5R<G5P="`P
M,#`P.C`Q.C`P+C!;05T@+3X@3&EN:R!;3$Y+05T@+3X@1U-)(#$Q("AL979E
M;"P@;&]W*2`M/B!)4E$@,3$*<F%D96]N9F(Z($9O=6YD($EN=&5L('@X-B!"
M24]3(%)/32!);6%G90IR861E;VYF8CH@4F5T<FEE=F5D(%!,3"!I;F9O<R!F
M<F]M($))3U,*<F%D96]N9F(Z(%)E9F5R96YC93TR-RXP,"!-2'H@*%)E9D1I
M=CTQ,BD@365M;W)Y/3(P,"XP,"!-:'HL(%-Y<W1E;3TQ-C8N,#`@34AZ"G)A
M9&5O;F9B.B!03$P@;6EN(#(P,#`P(&UA>"`T,#`P,`IR861E;VYF8CH@36]N
M:71O<B`Q('1Y<&4@0U)4(&9O=6YD"G)A9&5O;F9B.B!%1$E$('!R;V)E9`IR
M861E;VYF8CH@36]N:71O<B`R('1Y<&4@;F\@9F]U;F0*0V]N<V]L93H@<W=I
M=&-H:6YG('1O(&-O;&]U<B!F<F%M92!B=69F97(@9&5V:6-E(#$V,'@V-`IR
M861E;VYF8B`H,#`P,#HP,3HP,"XP*3H@051)(%)A9&5O;B!99"`*04-023H@
M4&]W97(@0G5T=&]N("A&1BD@6U!74D9="D%#4$DZ(%!O=V5R($)U='1O;B`H
M0TTI(%M05U)"70I!0U!).B!3;&5E<"!"=71T;VX@*$--*2!;4TQ00ET*04-0
M23H@1F%N(%M&04Y=("AO;BD*04-023H@0U!5,"`H<&]W97(@<W1A=&5S.B!#
M,5M#,5T@0S);0S)=*0I!0U!).B!4:&5R;6%L(%IO;F4@6U1(4DU=("@T,2!#
M*0I296%L(%1I;64@0VQO8VL@1')I=F5R('8Q+C$R86,*3&EN=7@@86=P9V%R
M="!I;G1E<F9A8V4@=C`N,3`Q("AC*2!$879E($IO;F5S"F%G<&=A<G0Z($1E
M=&5C=&5D(%9)02!+5#(V-B]+63(V-G@O2U0S,S,@8VAI<'-E=`IA9W!G87)T
M.B!!1U`@87!E<G1U<F4@:7,@-C1-($`@,'AE,#`P,#`P,`I;9')M72!);FET
M:6%L:7IE9"!D<FT@,2XP+C$@,C`P-3$Q,#(*04-023H@4$-)($EN=&5R<G5P
M="`P,#`P.C`Q.C`P+C!;05T@+3X@3&EN:R!;3$Y+05T@+3X@1U-)(#$Q("AL
M979E;"P@;&]W*2`M/B!)4E$@,3$*6V1R;5T@26YI=&EA;&EZ960@<F%D96]N
M(#$N,C(N,"`R,#`U,3(R.2!O;B!M:6YO<B`P"E!.4#H@4%,O,B!#;VYT<F]L
M;&5R(%M03E`P,S`S.E!3,DLL4$Y0,&8Q,SI04S)-72!A="`P>#8P+#!X-C0@
M:7)Q(#$L,3(*<V5R:6\Z(&DX,#0R($%56"!P;W)T(&%T(#!X-C`L,'@V-"!I
M<G$@,3(*<V5R:6\Z(&DX,#0R($M"1"!P;W)T(&%T(#!X-C`L,'@V-"!I<G$@
M,0IP87)P;W)T.B!0;E!"24]3('!A<G!O<G0@9&5T96-T960N"G!A<G!O<G0P
M.B!00RUS='EL92!A="`P>#,W."P@:7)Q(#<@6U!#4U!0+%1225-4051%70I&
M;&]P<'D@9')I=F4H<RDZ(&9D,"!I<R`Q+C0T30I&1$,@,"!I<R!A('!O<W0M
M,3DY,2`X,C`W-PHX,3,Y=&]O($9A<W0@171H97)N970@9')I=F5R(#`N.2XR
M-PI!0U!).B!00TD@26YT97)R=7!T($QI;FL@6TQ.2T-=(&5N86)L960@870@
M25)1(#$Q"D%#4$DZ(%!#22!);G1E<G)U<'0@,#`P,#HP,#HP82XP6T%=("T^
M($QI;FL@6TQ.2T-=("T^($=322`Q,2`H;&5V96PL(&QO=RD@+3X@25)1(#$Q
M"F5T:#`Z(%)E86Q496L@4E1,.#$S.2!A="`P>&0P.#!E,#`P+"`P,#HS,#IB
M9#HR-SHQ8SHW-2P@25)1(#$Q"F5T:#`Z("!)9&5N=&EF:65D(#@Q,SD@8VAI
M<"!T>7!E("=25$PM.#$P,$(O.#$S.40G"E5N:69O<FT@375L=&DM4&QA=&9O
M<FT@12U)1$4@9')I=F5R(%)E=FES:6]N.B`W+C`P86QP:&$R"FED93H@07-S
M=6UI;F<@,S--2'H@<WES=&5M(&)U<R!S<&5E9"!F;W(@4$E/(&UO9&5S.R!O
M=F5R<FED92!W:71H(&ED96)U<SUX>`I64%])1$4Z($E$12!C;VYT<F]L;&5R
M(&%T(%!#22!S;&]T(#`P,#`Z,#`Z,3$N,0I!0U!).B!00TD@26YT97)R=7!T
M(#`P,#`Z,#`Z,3$N,5M!72`M/B!,:6YK(%M,3DM!72`M/B!'4TD@,3$@*&QE
M=F5L+"!L;W<I("T^($E242`Q,0I00TDZ(%9I82!)4E$@9FEX=7`@9F]R(#`P
M,#`Z,#`Z,3$N,2P@9G)O;2`R-34@=&\@,3$*5E!?241%.B!C:&EP<V5T(')E
M=FES:6]N(#8*5E!?241%.B!N;W0@,3`P)2!N871I=F4@;6]D93H@=VEL;"!P
M<F]B92!I<G%S(&QA=&5R"E907TE$13H@5DE!('9T.#(S,V$@*')E=B`P,"D@
M241%(%5$34$Q,S,@8V]N=')O;&QE<B!O;B!P8VDP,#`P.C`P.C$Q+C$*("`@
M(&ED93`Z($)-+41-02!A="`P>&4P,#`M,'AE,#`W+"!"24]3('-E='1I;F=S
M.B!H9&$Z1$U!+"!H9&(Z<&EO"B`@("!I9&4Q.B!"32U$34$@870@,'AE,#`X
M+3!X93`P9BP@0DE/4R!S971T:6YG<SH@:&1C.D1-02P@:&1D.D1-00I0<F]B
M:6YG($E$12!I;G1E<F9A8V4@:61E,"XN+@IH9&$Z($5X8V5L4W1O<B!496-H
M;F]L;V=Y($HS-C`L($%402!$25-+(&1R:79E"FED93`@870@,'@Q9C`M,'@Q
M9C<L,'@S9C8@;VX@:7)Q(#$T"E!R;V)I;F<@241%(&EN=&5R9F%C92!I9&4Q
M+BXN"FAD8SH@4$E/3D5%4B!$5D0M4E<@1%92+3$Q,$0L($%405!)($-$+T16
M1"U23TT@9')I=F4*:&1D.B!304U354Y'($161"U23TT@4T0M-C$V42P@051!
M4$D@0T0O1%9$+5)/32!D<FEV90II9&4Q(&%T(#!X,3<P+3!X,3<W+#!X,S<V
M(&]N(&ER<2`Q-0IH9&$Z(&UA>"!R97%U97-T('-I>F4Z(#4Q,DMI0@IH9&$Z
M(#$R,#$P,S(P,"!S96-T;W)S("@V,30Y,B!-0BD@=R\Q.#(Q2VE"($-A8VAE
M+"!#2%,],38S.#,O,C4U+S8S+"!51$U!*#$P,"D*:&1A.B!C86-H92!F;'5S
M:&5S('-U<'!O<G1E9`H@:&1A.B!H9&$Q(&AD83(@:&1A,R!H9&$T(#P@:&1A
M-2!H9&$V(&AD83<@:&1A."!H9&$Y(&AD83$P(#X*:&1C.B!!5$%022`T,%@@
M1%9$+5)/32!$5D0M4B!#1"U2+U)7(&1R:79E+"`R,#`P:T(@0V%C:&4L(%5$
M34$H-C8I"E5N:69O<FT@0T0M4D]-(&1R:79E<B!2979I<VEO;CH@,RXR,`IH
M9&0Z($%405!)(#0X6"!$5D0M4D]-(&1R:79E+"`U,3)K0B!#86-H92P@541-
M02@S,RD*=7-B;6]N.B!D96)U9V9S(&ES(&YO="!A=F%I;&%B;&4*;6EC93H@
M4%,O,B!M;W5S92!D979I8V4@8V]M;6]N(&9O<B!A;&P@;6EC90II;G!U=#H@
M050@5')A;G-L871E9"!3970@,B!K97EB;V%R9"!A<R`O8VQA<W,O:6YP=70O
M:6YP=70P"FEN<'5T.B!00R!3<&5A:V5R(&%S("]C;&%S<R]I;G!U="]I;G!U
M=#$*:3)C("]D978@96YT<FEE<R!D<FEV97(*=S@S-C(W:&8@.3$Y,2TP,CDP
M.B!%;F%B;&EN9R!T96UP,BP@<F5A9&EN9W,@;6EG:'0@;F]T(&UA:V4@<V5N
M<V4*061V86YC960@3&EN=7@@4V]U;F0@07)C:&ET96-T=7)E($1R:79E<B!6
M97)S:6]N(#$N,"XQ,7)C,B`H5V5D($IA;B`P-"`P.#HU-SHR,"`R,#`V(%54
M0RDN"D%,4T$@9&5V:6-E(&QI<W0Z"B`@3F\@<V]U;F1C87)D<R!F;W5N9"X*
M3D54.B!296=I<W1E<F5D('!R;W1O8V]L(&9A;6EL>2`R"DE0(')O=71E(&-A
M8VAE(&AA<V@@=&%B;&4@96YT<FEE<SH@-#`Y-B`H;W)D97(Z(#(L(#$V,S@T
M(&)Y=&5S*0I40U`@97-T86)L:7-H960@:&%S:"!T86)L92!E;G1R:65S.B`Q
M-C,X-"`H;W)D97(Z(#0L(#8U-3,V(&)Y=&5S*0I40U`@8FEN9"!H87-H('1A
M8FQE(&5N=')I97,Z(#$V,S@T("AO<F1E<CH@-"P@-C4U,S8@8GET97,I"E1#
M4#H@2&%S:"!T86)L97,@8V]N9FEG=7)E9"`H97-T86)L:7-H960@,38S.#0@
M8FEN9"`Q-C,X-"D*5$-0(')E;F\@<F5G:7-T97)E9`I40U`@8FEC(')E9VES
M=&5R960*3D54.B!296=I<W1E<F5D('!R;W1O8V]L(&9A;6EL>2`Q"DY%5#H@
M4F5G:7-T97)E9"!P<F]T;V-O;"!F86UI;'D@,3<*57-I;F<@25!)(%-H;W)T
M8W5T(&UO9&4*5D93.B!-;W5N=&5D(')O;W0@*&5X=#(@9FEL97-Y<W1E;2D@
M<F5A9&]N;'DN"D9R965I;F<@=6YU<V5D(&ME<FYE;"!M96UO<GDZ(#$X,&L@
M9G)E960*:6YP=70Z($EM17A04R\R($=E;F5R:6,@17AP;&]R97(@36]U<V4@
M87,@+V-L87-S+VEN<'5T+VEN<'5T,@I,:6YU>"!V:61E;R!C87!T=7)E(&EN
M=&5R9F%C93H@=C$N,#`*55-"(%5N:79E<G-A;"!(;W-T($-O;G1R;VQL97(@
M26YT97)F86-E(&1R:79E<B!V,BXS"D%#4$DZ(%!#22!);G1E<G)U<'0@3&EN
M:R!;3$Y+1%T@96YA8FQE9"!A="!)4E$@,3`*4$-).B!S971T:6YG($E242`Q
M,"!A<R!L979E;"UT<FEG9V5R960*04-023H@4$-)($EN=&5R<G5P="`P,#`P
M.C`P.C$Q+C);1%T@+3X@3&EN:R!;3$Y+1%T@+3X@1U-)(#$P("AL979E;"P@
M;&]W*2`M/B!)4E$@,3`*=6AC:5]H8V0@,#`P,#HP,#HQ,2XR.B!52$-)($AO
M<W0@0V]N=')O;&QE<@IU:&-I7VAC9"`P,#`P.C`P.C$Q+C(Z(&YE=R!54T(@
M8G5S(')E9VES=&5R960L(&%S<VEG;F5D(&)U<R!N=6UB97(@,0IU:&-I7VAC
M9"`P,#`P.C`P.C$Q+C(Z(&ER<2`Q,"P@:6\@8F%S92`P>#`P,#!E-#`P"G5S
M8B!U<V(Q.B!C;VYF:6=U<F%T:6]N(",Q(&-H;W-E;B!F<F]M(#$@8VAO:6-E
M"FAU8B`Q+3`Z,2XP.B!54T(@:'5B(&9O=6YD"FAU8B`Q+3`Z,2XP.B`R('!O
M<G1S(&1E=&5C=&5D"D%#4$DZ(%!#22!);G1E<G)U<'0@,#`P,#HP,#HQ,2XS
M6T1=("T^($QI;FL@6TQ.2T1=("T^($=322`Q,"`H;&5V96PL(&QO=RD@+3X@
M25)1(#$P"G5H8VE?:&-D(#`P,#`Z,#`Z,3$N,SH@54A#22!(;W-T($-O;G1R
M;VQL97(*=6AC:5]H8V0@,#`P,#HP,#HQ,2XS.B!N97<@55-"(&)U<R!R96=I
M<W1E<F5D+"!A<W-I9VYE9"!B=7,@;G5M8F5R(#(*=6AC:5]H8V0@,#`P,#HP
M,#HQ,2XS.B!I<G$@,3`L(&EO(&)A<V4@,'@P,#`P93@P,`IU<V(@=7-B,CH@
M8V]N9FEG=7)A=&EO;B`C,2!C:&]S96X@9G)O;2`Q(&-H;VEC90IH=6(@,BTP
M.C$N,#H@55-"(&AU8B!F;W5N9`IH=6(@,BTP.C$N,#H@,B!P;W)T<R!D971E
M8W1E9`I397)I86PZ(#@R-3`O,38U-3`@9')I=F5R("12979I<VEO;CH@,2XY
M,"`D(#(@<&]R=',L($E242!S:&%R:6YG(&1I<V%B;&5D"G-E<FEA;#@R-3`Z
M('1T>5,P(&%T($DO3R`P>#-F."`H:7)Q(#T@-"D@:7,@82`Q-C4U,$$*<V5R
M:6%L.#(U,#H@='1Y4S$@870@22]/(#!X,F8X("AI<G$@/2`S*2!I<R!A(#$V
M-34P00HP,#HP.#H@='1Y4S`@870@22]/(#!X,V8X("AI<G$@/2`T*2!I<R!A
M(#$V-34P00HP,#HP.3H@='1Y4S$@870@22]/(#!X,F8X("AI<G$@/2`S*2!I
M<R!A(#$V-34P00IS86$W,30V.B!R96=I<W1E<B!E>'1E;G-I;VX@)V)U9&=E
M=%]C:2!D=F(G+@I!0U!).B!00TD@26YT97)R=7!T(#`P,#`Z,#`Z,&,N,%M!
M72`M/B!,:6YK(%M,3DM!72`M/B!'4TD@,3$@*&QE=F5L+"!L;W<I("T^($E2
M42`Q,0IS86$W,30V.B!F;W5N9"!S86$W,30V($`@;65M(&0Q.&%A,#`P("AR
M979I<VEO;B`Q+"!I<G$@,3$I("@P>#$S8S(L,'@Q,#$Q*2X*1%9".B!R96=I
M<W1E<FEN9R!N97<@861A<'1E<B`H5%0M0G5D9V5T+U=I;E16+4Y/5D$M5`D@
M4$-)*2X*8W@R,S@X>"!D=F(@9')I=F5R('9E<G-I;VX@,"XP+C4@;&]A9&5D
M"F-X,C,X.'@@=C1L,B!D<FEV97(@=F5R<VEO;B`P+C`N-2!L;V%D960*861A
M<'1E<B!H87,@34%#(&%D9'(@/2`P,#ID,#HU8SHR,CHQ93IF,@II;G!U=#H@
M0G5D9V5T+4-)(&1V8B!I<B!R96-E:79E<B!S86$W,30V("@P*2!A<R`O8VQA
M<W,O:6YP=70O:6YP=70S"D160CH@<F5G:7-T97)I;F<@9G)O;G1E;F0@,"`H
M4&AI;&EP<R!41$$Q,#`T-4@@1%9"+50I+BXN"D-/4D4@8W@X.%LP73H@<W5B
M<WES=&5M.B`P,#<P.CDP,#(L(&)O87)D.B!(875P<&%U9V4@3F]V82U4($16
M0BU4(%MC87)D/3$X+&%U=&]D971E8W1E9%T*5%8@='5N97(@-"!A="`P>#%F
M92P@4F%D:6\@='5N97(@+3$@870@,'@Q9F4*=7-B(#$M,3H@;F5W(&QO=R!S
M<&5E9"!54T(@9&5V:6-E('5S:6YG('5H8VE?:&-D(&%N9"!A9&1R97-S(#(*
M='9E97!R;VT@-BTP,#4P.B!(875P<&%U9V4@;6]D96P@.3`P,#(L(')E=B!#
M,3<V+"!S97)I86PC(#0P-C8X,@IT=F5E<')O;2`V+3`P-3`Z($U!0R!A9&1R
M97-S(&ES(#`P+3!$+49%+3`V+3,T+3E!"G1V965P<F]M(#8M,#`U,#H@='5N
M97(@;6]D96P@:7,@5&AO;7!S;VX@1%14-S4Y,B`H:61X(#<V+"!T>7!E(#0I
M"G1V965P<F]M(#8M,#`U,#H@5%8@<W1A;F1A<F1S($%44T,O1%9"($1I9VET
M86P@*&5E<')O;2`P>#@P*0IT=F5E<')O;2`V+3`P-3`Z(&%U9&EO('!R;V-E
M<W-O<B!I<R!.;VYE("AI9'@@,"D*='9E97!R;VT@-BTP,#4P.B!D96-O9&5R
M('!R;V-E<W-O<B!I<R!#6#@X,B`H:61X(#(U*0IT=F5E<')O;2`V+3`P-3`Z
M(&AA<R!N;R!R861I;RP@:&%S($E2(')E;6]T90IC>#@X6S!=.B!H875P<&%U
M9V4@965P<F]M.B!M;V1E;#TY,#`P,@II;G!U=#H@8W@X."!)4B`H2&%U<'!A
M=6=E($YO=F$M5"!$5D(M5"!A<R`O8VQA<W,O:6YP=70O:6YP=70T"D%#4$DZ
M(%!#22!);G1E<G)U<'0@3&EN:R!;3$Y+0ET@96YA8FQE9"!A="!)4E$@,3`*
M04-023H@4$-)($EN=&5R<G5P="`P,#`P.C`P.C`Y+C);05T@+3X@3&EN:R!;
M3$Y+0ET@+3X@1U-)(#$P("AL979E;"P@;&]W*2`M/B!)4E$@,3`*8W@X.%LP
M72\R.B!F;W5N9"!A="`P,#`P.C`P.C`Y+C(L(')E=CH@-2P@:7)Q.B`Q,"P@
M;&%T96YC>3H@,S(L(&UM:6\Z(#!X93<P,#`P,#`*8W@X.%LP72\R.B!C>#(S
M.#AX(&)A<V5D(&1V8B!C87)D"D160CH@<F5G:7-T97)I;F<@;F5W(&%D87!T
M97(@*&-X.#A;,%TI+@I$5D(Z(')E9VES=&5R:6YG(&9R;VYT96YD(#$@*$-O
M;F5X86YT($-8,C(W,#(@1%9"+50I+BXN"D%#4$DZ(%!#22!);G1E<G)U<'0@
M,#`P,#HP,#HP.2XP6T%=("T^($QI;FL@6TQ.2T)=("T^($=322`Q,"`H;&5V
M96PL(&QO=RD@+3X@25)1(#$P"F-X.#A;,%TO,#H@9F]U;F0@870@,#`P,#HP
M,#HP.2XP+"!R978Z(#4L(&ER<3H@,3`L(&QA=&5N8WDZ(#,R+"!M;6EO.B`P
M>&4V,#`P,#`P"F-X.#A;,%TO,#H@<F5G:7-T97)E9"!D979I8V4@=FED96\P
M(%MV-&PR70IC>#@X6S!=+S`Z(')E9VES=&5R960@9&5V:6-E('9B:3`*<V5T
M7V-O;G1R;VP@:60],'@Y.#`Y,#`@<F5G/3!X,S$P,3$P('9A;#TP>#`P("AM
M87-K(#!X9F8I"G-E=%]C;VYT<F]L(&ED/3!X.3@P.3`Q(')E9STP>#,Q,#$Q
M,"!V86P],'@S9C`P("AM87-K(#!X9F8P,"D*<V5T7V-O;G1R;VP@:60],'@Y
M.#`Y,#,@<F5G/3!X,S$P,3$X('9A;#TP>#`P("AM87-K(#!X9F8I"G-E=%]C
M;VYT<F]L(&ED/3!X.3@P.3`R(')E9STP>#,Q,#$Q-"!V86P],'@U83=F("AM
M87-K(#!X9F9F9BD*<V5T7V-O;G1R;VP@:60],'@Y.#`Y,#D@<F5G/3!X,S(P
M-3DT('9A;#TP>#0P("AM87-K(#!X-#`I(%MS:&%D;W=E9%T*<V5T7V-O;G1R
M;VP@:60],'@Y.#`Y,#4@<F5G/3!X,S(P-3DT('9A;#TP>#(P("AM87-K(#!X
M,V8I(%MS:&%D;W=E9%T*<V5T7V-O;G1R;VP@:60],'@Y.#`Y,#8@<F5G/3!X
M,S(P-3DX('9A;#TP>#0P("AM87-K(#!X-V8I(%MS:&%D;W=E9%T*04-023H@
M4$-)($EN=&5R<G5P="`P,#`P.C`P.C$Q+C5;0UT@+3X@3&EN:R!;3$Y+0UT@
M+3X@1U-)(#$Q("AL979E;"P@;&]W*2`M/B!)4E$@,3$*4$-).B!3971T:6YG
M(&QA=&5N8WD@=&EM97(@;V8@9&5V:6-E(#`P,#`Z,#`Z,3$N-2!T;R`V-`IU
M<V(@,2TQ.B!C;VYF:6=U<F%T:6]N(",Q(&-H;W-E;B!F<F]M(#$@8VAO:6-E
M"F-X,C,X.'@@8FQA8VMB:7)D(&1R:79E<B!V97)S:6]N(#`N,"XU(&QO861E
M9`I!0U!).B!00TD@26YT97)R=7!T(#`P,#`Z,#`Z,#@N,%M!72`M/B!,:6YK
M(%M,3DM!72`M/B!'4TD@,3$@*&QE=F5L+"!L;W<I("T^($E242`Q,0II;G!U
M=#H@5VER96QE<W,@36]U<V4@5VER96QE<W,@36]U<V4@87,@+V-L87-S+VEN
M<'5T+VEN<'5T-0II;G!U=#H@55-"($A)1"!V,2XQ,"!-;W5S92!;5VER96QE
M<W,@36]U<V4@5VER96QE<W,@36]U<V5=(&]N('5S8BTP,#`P.C`P.C$Q+C(M
M,0IU<V)C;W)E.B!R96=I<W1E<F5D(&YE=R!D<FEV97(@=7-B:&ED"F1R:79E
M<G,O=7-B+VEN<'5T+VAI9"UC;W)E+F,Z('8R+C8Z55-"($A)1"!C;W)E(&1R
M:79E<@I!9&1I;F<@,3`P-#`U,FL@<W=A<"!O;B`O9&5V+VAD83,N("!0<FEO
M<FET>3HM,2!E>'1E;G1S.C$@86-R;W-S.C$P,#0P-3)K"E-#4TD@<W5B<WES
M=&5M(&EN:71I86QI>F5D"D%#4$DZ(%!#22!);G1E<G)U<'0@,#`P,#HP,#HP
M8BXP6T%=("T^($QI;FL@6TQ.2T1=("T^($=322`Q,"`H;&5V96PL(&QO=RD@
M+3X@25)1(#$P"G-C<VDP(#H@061V86Y3>7,@4T-322`S+C-+.B!00TD@56QT
M<F$M5VED93H@4$-)345-(#!X1#`X,4,P,#`M,'A$,#@Q0S`S1BP@25)1(#!X
M00IE=&@P.B!L:6YK('5P+"`Q,#!-8G!S+"!F=6QL+61U<&QE>"P@;'!A(#!X
M-#5%,0I.1E-$.B!5<VEN9R`O=F%R+VQI8B]N9G,O=C1R96-O=F5R>2!A<R!T
M:&4@3D93=C0@<W1A=&4@<F5C;W9E<GD@9&ER96-T;W)Y"DY&4T0Z('-T87)T
M:6YG(#DP+7-E8V]N9"!G<F%C92!P97)I;V0*=&1A,3`P-'@Z(&9O=6YD(&9I
M<FUW87)E(')E=FES:6]N(#`@+2T@:6YV86QI9`IT9&$Q,#`T>#H@=V%I=&EN
M9R!F;W(@9FER;7=A<F4@=7!L;V%D("AD=F(M9F4M=&1A,3`P-#4N9G<I+BXN
M"G1D83$P,#1X.B!F:7)M=V%R92!U<&QO860@8V]M<&QE=&4*=&1A,3`P-'@Z
M(&9O=6YD(&9I<FUW87)E(')E=FES:6]N(#)C("TM(&]K"F%G<&=A<G0Z($9O
M=6YD(&%N($%'4"`R+C`@8V]M<&QI86YT(&1E=FEC92!A="`P,#`P.C`P.C`P
M+C`N"F%G<&=A<G0Z(%!U='1I;F<@04=0(%8R(&1E=FEC92!A="`P,#`P.C`P
M.C`P+C`@:6YT;R`T>"!M;V1E"F%G<&=A<G0Z(%!U='1I;F<@04=0(%8R(&1E
M=FEC92!A="`P,#`P.C`Q.C`P+C`@:6YT;R`T>"!M;V1E"EMD<FU=($QO861I
2;F<@4C(P,"!-:6-R;V-O9&4*
`
end
begin 644 lspci,fff
M,#`P,#HP,#HP,"XP($AO<W0@8G)I9&=E.B!624$@5&5C:&YO;&]G:65S+"!)
M;F,N(%94.#,V-B]!+S<@6T%P;VQL;R!+5#(V-B]!+S,S,UT*,#`P,#HP,#HP
M,2XP(%!#22!B<FED9V4Z(%9)02!496-H;F]L;V=I97,L($EN8RX@5E0X,S8V
M+T$O-R!;07!O;&QO($M4,C8V+T$O,S,S($%'4%T*,#`P,#HP,#HP."XP($UU
M;'1I;65D:6$@875D:6\@8V]N=')O;&QE<CH@0W)E871I=F4@3&%B<R!30B!,
M:79E(2!%354Q,&LQ("AR978@,&$I"C`P,#`Z,#`Z,#@N,2!);G!U="!D979I
M8V4@8V]N=')O;&QE<CH@0W)E871I=F4@3&%B<R!30B!,:79E(2!-241)+T=A
M;64@4&]R="`H<F5V(#!A*0HP,#`P.C`P.C`Y+C`@375L=&EM961I82!V:61E
M;R!C;VYT<F]L;&5R.B!#;VYE>&%N="!#6#(S.#@P+S$O,B\S(%!#22!6:61E
M;R!A;F0@075D:6\@1&5C;V1E<B`H<F5V(#`U*0HP,#`P.C`P.C`Y+C(@375L
M=&EM961I82!C;VYT<F]L;&5R.B!#;VYE>&%N="!#6#(S.#@P+S$O,B\S(%!#
M22!6:61E;R!A;F0@075D:6\@1&5C;V1E<B!;35!%1R!0;W)T72`H<F5V(#`U
M*0HP,#`P.C`P.C`Y+C0@375L=&EM961I82!C;VYT<F]L;&5R.B!#;VYE>&%N
M="!#6#(S.#@P+S$O,B\S(%!#22!6:61E;R!A;F0@075D:6\@1&5C;V1E<B!;
M25(@4&]R=%T@*')E=B`P-2D*,#`P,#HP,#HP82XP($5T:&5R;F5T(&-O;G1R
M;VQL97(Z(%)E86QT96L@4V5M:6-O;F1U8W1O<B!#;RXL($QT9"X@4E1,+3@Q
M,SDO.#$S.4,O.#$S.4,K("AR978@,3`I"C`P,#`Z,#`Z,&(N,"!30U-)('-T
M;W)A9V4@8V]N=')O;&QE<CH@061V86YC960@4WES=&5M(%!R;V1U8W1S+"!)
M;F,@04)0.30P+557"C`P,#`Z,#`Z,&,N,"!-=6QT:6UE9&EA(&-O;G1R;VQL
M97(Z(%!H:6QI<',@4V5M:6-O;F1U8W1O<G,@4T%!-S$T-B`H<F5V(#`Q*0HP
M,#`P.C`P.C$Q+C`@25-!(&)R:61G93H@5DE!(%1E8VAN;VQO9VEE<RP@26YC
M+B!65#@R,S-!($E302!"<FED9V4*,#`P,#HP,#HQ,2XQ($E$12!I;G1E<F9A
M8V4Z(%9)02!496-H;F]L;V=I97,L($EN8RX@5E0X,D,U.#9!+T(O5E0X,D,V
M.#8O02]"+U94.#(S>"]!+T,@4$E00R!"=7,@36%S=&5R($E$12`H<F5V(#`V
M*0HP,#`P.C`P.C$Q+C(@55-"($-O;G1R;VQL97(Z(%9)02!496-H;F]L;V=I
M97,L($EN8RX@5E0X,GAX>'AX(%5(0TD@55-"(#$N,2!#;VYT<F]L;&5R("AR
M978@,C,I"C`P,#`Z,#`Z,3$N,R!54T(@0V]N=')O;&QE<CH@5DE!(%1E8VAN
M;VQO9VEE<RP@26YC+B!65#@R>'AX>'@@54A#22!54T(@,2XQ($-O;G1R;VQL
M97(@*')E=B`R,RD*,#`P,#HP,#HQ,2XU($UU;'1I;65D:6$@875D:6\@8V]N
M=')O;&QE<CH@5DE!(%1E8VAN;VQO9VEE<RP@26YC+B!65#@R,S,O02\X,C,U
M+S@R,S<@04,Y-R!!=61I;R!#;VYT<F]L;&5R("AR978@-#`I"C`P,#`Z,#$Z
M,#`N,"!61T$@8V]M<&%T:6)L92!C;VYT<F]L;&5R.B!!5$D@5&5C:&YO;&]G
M:65S($EN8R!25C(X,"!;4F%D96]N(#DR,#`@4T5=("AR978@,#$I"C`P,#`Z
M,#$Z,#`N,2!$:7-P;&%Y(&-O;G1R;VQL97(Z($%422!496-H;F]L;V=I97,@
M26YC(%)6,C@P(%M2861E;VX@.3(P,"!315T@*%-E8V]N9&%R>2D@*')E=B`P
#,2D*
`
end
begin 644 lsmod,fff
M36]D=6QE("`@("`@("`@("`@("`@("`@4VEZ92`@57-E9"!B>0IE97!R;VT@
M("`@("`@("`@("`@("`@("`U-3@T("`P(`IS<E]M;V0@("`@("`@("`@("`@
M("`@(#$T,C0T("`P(`IA9'9A;G-Y<R`@("`@("`@("`@("`@(#<U.30P("`P
M(`IS8W-I7VUO9"`@("`@("`@("`@("`@,3$Q,C0T("`R('-R7VUO9"QA9'9A
M;G-Y<PIU<V)H:60@("`@("`@("`@("`@("`@(#,P.3$V("`P(`IS;F1?96UU
M,3!K,5]S>6YT:"`@("`@("`V-3(X("`P(`IS;F1?96UU>%]S>6YT:"`@("`@
M("`@(#,R,C4V("`Q('-N9%]E;74Q,&LQ7W-Y;G1H"G-N9%]S97%?=FER;6ED
M:2`@("`@("`@(#4P-38@(#$@<VYD7V5M=7A?<WEN=&@*<VYD7W-E<5]M:61I
M7V5M=6P@("`@("`@-3DU,B`@,2!S;F1?96UU>%]S>6YT:`IS;F1?<V5Q7V]S
M<R`@("`@("`@("`@(#(Y.3(T("`P(`IS;F1?<V5Q7VUI9&D@("`@("`@("`@
M("`V-38P("`P(`IS;F1?<V5Q7VUI9&E?979E;G0@("`@("`V,#$V("`S('-N
M9%]S97%?=FER;6ED:2QS;F1?<V5Q7V]S<RQS;F1?<V5Q7VUI9&D*<VYD7W-E
M<2`@("`@("`@("`@("`@("`T-3,X."`@."!S;F1?96UU>%]S>6YT:"QS;F1?
M<V5Q7W9I<FUI9&DL<VYD7W-E<5]M:61I7V5M=6PL<VYD7W-E<5]O<W,L<VYD
M7W-E<5]M:61I+'-N9%]S97%?;6ED:5]E=F5N=`IC>#@X7V)L86-K8FER9"`@
M("`@("`@(#$W,#4R("`P(`IS;F1?96UU,3!K,2`@("`@("`@("`@,3$T-S(T
M("`Q('-N9%]E;74Q,&LQ7W-Y;G1H"G-N9%]V:6$X,GAX("`@("`@("`@("`@
M,C(T,C`@(#`@"G-N9%]A8SDW7V-O9&5C("`@("`@("`@.3(S,C`@(#(@<VYD
M7V5M=3$P:S$L<VYD7W9I83@R>'@*<VYD7V%C.3=?8G5S("`@("`@("`@("`@
M,3<Y,B`@,2!S;F1?86,Y-U]C;V1E8PIC>#@X,#`@("`@("`@("`@("`@("`@
M(#(W,S0P("`Q(&-X.#A?8FQA8VMB:7)D"F-X.#A?9'9B("`@("`@("`@("`@
M("`@(#DX-C`@(#(U(`IC>#@X,#(@("`@("`@("`@("`@("`@("`Y,#(X("`R
M(&-X.#A?8FQA8VMB:7)D+&-X.#A?9'9B"F-X.#AX>"`@("`@("`@("`@("`@
M("`@-3<Y-38@(#0@8W@X.%]B;&%C:V)I<F0L8W@X.#`P+&-X.#A?9'9B+&-X
M.#@P,@IC>#@X7W9P,S`U-%]I,F,@("`@("`@("`S-#4V("`Q(&-X.#A?9'9B
M"G-N9%]P8VU?;W-S("`@("`@("`@("`@-#8W-3(@(#`@"G-N9%]M:7AE<E]O
M<W,@("`@("`@("`@,34T.#@@(#$@<VYD7W!C;5]O<W,*:7)?8V]M;6]N("`@
M("`@("`@("`@("`@.#`V."`@,2!C>#@X>'@*;70S-3(@("`@("`@("`@("`@
M("`@("`@-3@R."`@,2!C>#@X7V1V8@IB=61G971?8VD@("`@("`@("`@("`@
M(#$R,S4R("`P(`IT9&$Q,#`T>"`@("`@("`@("`@("`@(#$T-S@X("`Q(&)U
M9&=E=%]C:0IB=61G971?8V]R92`@("`@("`@("`@("`V.3$V("`Q(&)U9&=E
M=%]C:0IS86$W,30V("`@("`@("`@("`@("`@(#$T,C@P("`R(&)U9&=E=%]C
M:2QB=61G971?8V]R90IT='!C:5]E97!R;VT@("`@("`@("`@("`Q.3(P("`Q
M(&)U9&=E=%]C;W)E"C@R-3!?<&YP("`@("`@("`@("`@("`@(#@R-38@(#`@
M"C@R-3`@("`@("`@("`@("`@("`@("`@,3@V-38@(#$@.#(U,%]P;G`*<V5R
M:6%L7V-O<F4@("`@("`@("`@("`Q-C4Q,B`@,2`X,C4P"G1V965P<F]M("`@
M("`@("`@("`@("`@,3,P-S(@(#$@8W@X.'AX"F-O;7!A=%]I;V-T;#,R("`@
M("`@("`@(#$P,C0@(#$@8W@X.#`P"G8T;#%?8V]M<&%T("`@("`@("`@("`@
M,3,S,38@(#$@8W@X.#`P"G8T;#)?8V]M;6]N("`@("`@("`@("`@(#8V-38@
M(#(@8W@X.%]B;&%C:V)I<F0L8W@X.#`P"G-N9%]U=&EL7VUE;2`@("`@("`@
M("`@(#,S.3(@(#(@<VYD7V5M=7A?<WEN=&@L<VYD7V5M=3$P:S$*<W1V,#(Y
M.2`@("`@("`@("`@("`@("`@.34T-"`@,2!B=61G971?8VD*;W(U,3$S,B`@
M("`@("`@("`@("`@("`@.3`R."`@,2!C>#@X7V1V8@IV:61E;U]B=69?9'9B
M("`@("`@("`@("`T-#@T("`Q(&-X.#A?9'9B"F1V8E]C;W)E("`@("`@("`@
M("`@("`@-S0X.#`@(#0@8G5D9V5T7V-I+&)U9&=E=%]C;W)E+'-T=C`R.3DL
M=FED96]?8G5F7V1V8@IV:61E;U]B=68@("`@("`@("`@("`@(#$W,C(P("`V
M(&-X.#A?8FQA8VMB:7)D+&-X.#@P,"QC>#@X7V1V8BQC>#@X,#(L8W@X.'AX
M+'9I9&5O7V)U9E]D=F(*;GAT,C`P>"`@("`@("`@("`@("`@("`Q,C8W-B`@
M,2!C>#@X7V1V8@IF:7)M=V%R95]C;&%S<R`@("`@("`@("`W-S0T("`U(&-X
M.#A?8FQA8VMB:7)D+&)U9&=E=%]C:2QT9&$Q,#`T>"QO<C4Q,3,R+&YX=#(P
M,'@*<VYD7W!C;2`@("`@("`@("`@("`@("`W-3,S-B`@-"!S;F1?96UU,3!K
M,2QS;F1?=FEA.#)X>"QS;F1?86,Y-U]C;V1E8RQS;F1?<&-M7V]S<PIS;F1?
M=&EM97(@("`@("`@("`@("`@(#$X.#(P("`S('-N9%]S97$L<VYD7V5M=3$P
M:S$L<VYD7W!C;0IS;F1?<&%G95]A;&QO8R`@("`@("`@("`X,S(X("`S('-N
M9%]E;74Q,&LQ+'-N9%]V:6$X,GAX+'-N9%]P8VT*<VYD7VUP=30P,5]U87)T
M("`@("`@("`@-38Y-B`@,2!S;F1?=FEA.#)X>`IB=&-X7W)I<V,@("`@("`@
M("`@("`@("`S.#0X("`S(&-X.#@P,"QC>#@X,#(L8W@X.'AX"G-N9%]R87=M
M:61I("`@("`@("`@("`@,3DV,38@(#0@<VYD7W-E<5]V:7)M:61I+'-N9%]S
M97%?;6ED:2QS;F1?96UU,3!K,2QS;F1?;7!U-#`Q7W5A<G0*<VYD7W-E<5]D
M979I8V4@("`@("`@("`@-C@V,"`@-R!S;F1?96UU,3!K,5]S>6YT:"QS;F1?
M96UU>%]S>6YT:"QS;F1?<V5Q7V]S<RQS;F1?<V5Q7VUI9&DL<VYD7W-E<2QS
M;F1?96UU,3!K,2QS;F1?<F%W;6ED:0IS;F1?:'=D97`@("`@("`@("`@("`@
M("`W,#0T("`R('-N9%]E;75X7W-Y;G1H+'-N9%]E;74Q,&LQ"G-T=C`R.3<@
M("`@("`@("`@("`@("`@(#8U.3(@(#$@8G5D9V5T7V-I"F-X,C0Q,C,@("`@
M("`@("`@("`@("`@(#<X-S8@(#$@8W@X.%]D=F(*;&=D=#,S,'@@("`@("`@
M("`@("`@("`@-S(V,"`@,2!C>#@X7V1V8@IC>#(R-S`R("`@("`@("`@("`@
M("`@("`U-S`P("`Q(&-X.#A?9'9B"F1V8E]P;&P@("`@("`@("`@("`@("`@
M(#DT,3(@(#0@8W@X.%]D=F(L;W(U,3$S,BQN>'0R,#!X+&-X,C(W,#(*=6AC
M:5]H8V0@("`@("`@("`@("`@("`R-SDR,"`@,"`*=FED96]D978@("`@("`@
M("`@("`@("`@-S`T,"`@,R!C>#@X7V)L86-K8FER9"QC>#@X,#`L8W@X.'AX
!"B`@
`
end
begin 644 config.gz,f89
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
.)3&!Y?G_F--!!<Z0``#P
`
end
^ permalink raw reply
* Get ahead in life! rumrf
From: Tameka Swan @ 2006-04-29 20:35 UTC (permalink / raw)
To: sparclinux
In-Reply-To: <717301c668e2$71aefea4$220ca16e@2xshzc1>
Genuine College Degree in 2 Weeks!
(831) 603-4625 Call Now and leave us message
Have you ever thought that the only thing stopping you from a
a great j0b and better pay was a few letters behind your name?
Well now you can get them!
BA BSc MA MSc MBA PHD
Within 2 weeks!
No Study Required!
100% Verifiable
(831) 603-4625 Call Now and leave us message
These are real, genuine degrees that include Bachelors, Masters
and Doctorate degrees. They are verifiable and student records and
transcripts are also available. This little known s.ecret has been
kept quiet for years. The opp0rtunity exists due to a lega.l loophole
allowing some established colleges to award degrees at their discretion.
With all of the attention that this news has been generating, I wouldn't
be surprised to see this loophole closed very soon.
Call n0w for more information today, you'll thank me later...
(831) 603-4625 Call Now and leave us message
^ permalink raw reply
* Re: Two gitweb feature requests
From: David Woodhouse @ 2006-04-29 21:38 UTC (permalink / raw)
To: Ben Clifford; +Cc: Kay Sievers, git
In-Reply-To: <Pine.LNX.4.64.0604272250420.4963@mundungus.clifford.ac>
On Thu, 2006-04-27 at 22:54 +0000, Ben Clifford wrote:
> HTML has a <link> element which can be used to indicate alternate forms of
> a page. Gitweb already generates one already to point people at the RSS
> feeds.
>
> Kinda messy to make all the git tools learn how to read HTML, though...
They wouldn't necessarily need to. git-clone and git-pull attempt to use
URLs which wouldn't be used in normal gitweb usage -- for example, any
attempt to fetch http://git.infradead.org/?p=mtd-2.6.git/HEAD or
http://git.infradead.org/?p=mtd-2.6.git/refs/heads can be assumed to be
an attempt to clone or pull with git. So gitweb could be modified to
detect those URLs and give a simple textual redirect which the git tools
could understand.
--
dwmw2
^ permalink raw reply
* SGI Hardware in the DC area
From: Nick B. @ 2006-04-29 21:36 UTC (permalink / raw)
To: linux-mips
I've got an Octane, an O2, an Indy and a pair of I2s I'm willing to donate to
a mips-linux developer in the DC area (or if you can convince me to ship it we
might be able to work something out). Email me if you're intrested.
Nick
^ permalink raw reply
* [Qemu-devel] [PATCH] VNC display support for QEMU
From: Anthony Liguori @ 2006-04-29 21:34 UTC (permalink / raw)
To: qemu-devel
[-- Attachment #1: Type: text/plain, Size: 1666 bytes --]
Hi,
The attach patch adds VNC display support for QEMU. It does not use
libvncserver but was rather written from scratch. libvncserver is a
really neat project and I've used it in a number of other projects but I
think QEMU really requires a custom implementation.
First, to enable vnc support, you use the -vnc option like:
qemu -vnc 1
Where 1 is the first display (port 5901). This syntax may change in the
near future to support binding to a particular interface. It's very
useful to use an absolute mouse with VNC as the relative support is
quite poor. It may be useful to adapt the libvncserver patch's
calibration code here but I've not attempted to do that yet.
This patch is still experimental. I've tested it with RealVNC and
TightVNC under a variety of depths but I won't be suprised if there are
still problems. I only implement Raw, CopyRect, and Hextile encodings
too. Any sort of palette color mode or pixel format that QEMU doesn't
support will not work either.
One thing you may notice is that RealVNC has some issues with being
disconnected. This is because it likes to switch from 8bit to 32bit
depths automatically at startup. Unfortunately, there is a race
condition in the VNC protocol and since this implementation is
asynchronous, we seem to be much more prone to exposing this.
A short near-term TODO list is:
1) More testing
2) Support switching between monitor/serial
3) Support a better encoding (like TightEncoding or ZRLE)
4) Support a vnc password (and perhaps stuff like TLS)
Any feedback is greatly appreciated (especially with how it works with
clients I've not tested).
Regards,
Anthony Liguori
[-- Attachment #2: qemu-vnc.diff --]
[-- Type: text/plain, Size: 43361 bytes --]
diff -urN -x '*.[di]' a.hg/hw/cirrus_vga.c vnc.hg/hw/cirrus_vga.c
--- a.hg/hw/cirrus_vga.c 2006-04-29 16:01:36.000000000 -0500
+++ vnc.hg/hw/cirrus_vga.c 2006-04-29 16:18:46.000000000 -0500
@@ -644,15 +644,90 @@
(s->cirrus_blt_srcaddr & ~7));
}
-static int cirrus_bitblt_videotovideo_copy(CirrusVGAState * s)
+static void cirrus_do_copy(CirrusVGAState *s, int dst, int src, int w, int h)
{
+ int sx, sy;
+ int dx, dy;
+ int width, height;
+ int depth;
+ int notify = 0;
+
+ depth = s->get_bpp((VGAState *)s) / 8;
+ s->get_resolution((VGAState *)s, &width, &height);
+
+ /* extra x, y */
+ sx = (src % (width * depth)) / depth;
+ sy = (src / (width * depth));
+ dx = (dst % (width *depth)) / depth;
+ dy = (dst / (width * depth));
+
+ /* normalize width */
+ w /= depth;
+
+ /* if we're doing a backward copy, we have to adjust
+ our x/y to be the upper left corner (instead of the lower
+ right corner) */
+ if (s->cirrus_blt_dstpitch < 0) {
+ sx -= (s->cirrus_blt_width / depth) - 1;
+ dx -= (s->cirrus_blt_width / depth) - 1;
+ sy -= s->cirrus_blt_height - 1;
+ dy -= s->cirrus_blt_height - 1;
+ }
+
+ /* are we in the visible portion of memory? */
+ if (sx >= 0 && sy >= 0 && dx >= 0 && dy >= 0 &&
+ (sx + w) <= width && (sy + h) <= height &&
+ (dx + w) <= width && (dy + h) <= height) {
+ notify = 1;
+ }
+
+ /* make to sure only copy if it's a plain copy ROP */
+ if (*s->cirrus_rop != cirrus_bitblt_rop_fwd_src &&
+ *s->cirrus_rop != cirrus_bitblt_rop_bkwd_src)
+ notify = 0;
+
+ /* we have to flush all pending changes so that the copy
+ is generated at the appropriate moment in time */
+ if (notify)
+ vga_hw_update();
+
(*s->cirrus_rop) (s, s->vram_ptr + s->cirrus_blt_dstaddr,
s->vram_ptr + s->cirrus_blt_srcaddr,
s->cirrus_blt_dstpitch, s->cirrus_blt_srcpitch,
s->cirrus_blt_width, s->cirrus_blt_height);
- cirrus_invalidate_region(s, s->cirrus_blt_dstaddr,
- s->cirrus_blt_dstpitch, s->cirrus_blt_width,
- s->cirrus_blt_height);
+
+ if (notify)
+ s->ds->dpy_copy(s->ds,
+ sx, sy, dx, dy,
+ s->cirrus_blt_width / depth,
+ s->cirrus_blt_height);
+
+ /* we don't have to notify the display that this portion has
+ changed since dpy_copy implies this */
+
+ if (!notify)
+ cirrus_invalidate_region(s, s->cirrus_blt_dstaddr,
+ s->cirrus_blt_dstpitch, s->cirrus_blt_width,
+ s->cirrus_blt_height);
+}
+
+static int cirrus_bitblt_videotovideo_copy(CirrusVGAState * s)
+{
+ if (s->ds->dpy_copy) {
+ cirrus_do_copy(s, s->cirrus_blt_dstaddr - s->start_addr,
+ s->cirrus_blt_srcaddr - s->start_addr,
+ s->cirrus_blt_width, s->cirrus_blt_height);
+ } else {
+ (*s->cirrus_rop) (s, s->vram_ptr + s->cirrus_blt_dstaddr,
+ s->vram_ptr + s->cirrus_blt_srcaddr,
+ s->cirrus_blt_dstpitch, s->cirrus_blt_srcpitch,
+ s->cirrus_blt_width, s->cirrus_blt_height);
+
+ cirrus_invalidate_region(s, s->cirrus_blt_dstaddr,
+ s->cirrus_blt_dstpitch, s->cirrus_blt_width,
+ s->cirrus_blt_height);
+ }
+
return 1;
}
diff -urN -x '*.[di]' a.hg/Makefile.target vnc.hg/Makefile.target
--- a.hg/Makefile.target 2006-04-29 16:01:34.000000000 -0500
+++ vnc.hg/Makefile.target 2006-04-29 16:20:17.000000000 -0500
@@ -357,6 +357,7 @@
ifdef CONFIG_SDL
VL_OBJS+=sdl.o
endif
+VL_OBJS+=vnc.o
ifdef CONFIG_COCOA
VL_OBJS+=cocoa.o
COCOA_LIBS=-F/System/Library/Frameworks -framework Cocoa -framework IOKit
@@ -409,6 +410,9 @@
sdl.o: sdl.c keymaps.c sdl_keysym.h
$(CC) $(CFLAGS) $(DEFINES) $(SDL_CFLAGS) -c -o $@ $<
+vnc.o: vnc.c keymaps.c sdl_keysym.h vnchextile.h
+ $(CC) $(CFLAGS) $(DEFINES) -c -o $@ $<
+
sdlaudio.o: sdlaudio.c
$(CC) $(CFLAGS) $(DEFINES) $(SDL_CFLAGS) -c -o $@ $<
diff -urN -x '*.[di]' a.hg/qemu-doc.texi vnc.hg/qemu-doc.texi
--- a.hg/qemu-doc.texi 2006-04-29 16:01:38.000000000 -0500
+++ vnc.hg/qemu-doc.texi 2006-04-29 15:55:58.000000000 -0500
@@ -185,6 +185,13 @@
the console. Therefore, you can still use QEMU to debug a Linux kernel
with a serial console.
+@item -vnc d
+
+Normally, QEMU uses SDL to display the VGA output. With this option,
+you can have QEMU listen on VNC display d and redirect the VGA display
+over the VNC session. It is very useful to enable the usb tablet device
+when using this option.
+
@item -k language
Use keyboard layout @var{language} (for example @code{fr} for
diff -urN -x '*.[di]' a.hg/vl.c vnc.hg/vl.c
--- a.hg/vl.c 2006-04-29 16:01:43.000000000 -0500
+++ vnc.hg/vl.c 2006-04-27 23:44:41.000000000 -0500
@@ -149,6 +149,7 @@
USBDevice *vm_usb_hub;
static VLANState *first_vlan;
int smp_cpus = 1;
+int vnc_display = -1;
#if defined(TARGET_SPARC)
#define MAX_CPUS 16
#elif defined(TARGET_I386)
@@ -4638,6 +4639,7 @@
" (default is CL-GD5446 PCI VGA)\n"
#endif
"-loadvm file start right away with a saved state (loadvm in monitor)\n"
+ "-vnc display start a VNC server on display\n"
"\n"
"During emulation, the following keys are useful:\n"
"ctrl-alt-f toggle full screen\n"
@@ -4721,6 +4723,7 @@
QEMU_OPTION_usb,
QEMU_OPTION_usbdevice,
QEMU_OPTION_smp,
+ QEMU_OPTION_vnc,
};
typedef struct QEMUOption {
@@ -4788,6 +4791,7 @@
{ "win2k-hack", 0, QEMU_OPTION_win2k_hack },
{ "usbdevice", HAS_ARG, QEMU_OPTION_usbdevice },
{ "smp", HAS_ARG, QEMU_OPTION_smp },
+ { "vnc", HAS_ARG, QEMU_OPTION_vnc },
/* temporary options */
{ "usb", 0, QEMU_OPTION_usb },
@@ -5386,6 +5390,13 @@
exit(1);
}
break;
+ case QEMU_OPTION_vnc:
+ vnc_display = atoi(optarg);
+ if (vnc_display < 0) {
+ fprintf(stderr, "Invalid VNC display\n");
+ exit(1);
+ }
+ break;
}
}
}
@@ -5551,6 +5562,8 @@
/* terminal init */
if (nographic) {
dumb_display_init(ds);
+ } if (vnc_display != -1) {
+ vnc_display_init(ds, vnc_display);
} else {
#if defined(CONFIG_SDL)
sdl_display_init(ds, full_screen);
diff -urN -x '*.[di]' a.hg/vl.h vnc.hg/vl.h
--- a.hg/vl.h 2006-04-29 16:01:43.000000000 -0500
+++ vnc.hg/vl.h 2006-04-29 15:17:16.000000000 -0500
@@ -82,6 +82,13 @@
#define tostring(s) #s
#endif
+#ifndef MIN
+#define MIN(a, b) (((a) < (b)) ? (a) : (b))
+#endif
+#ifndef MAX
+#define MAX(a, b) (((a) > (b)) ? (a) : (b))
+#endif
+
/* vl.c */
uint64_t muldiv64(uint64_t a, uint32_t b, uint32_t c);
@@ -672,9 +679,12 @@
int depth;
int width;
int height;
+ void *opaque;
+
void (*dpy_update)(struct DisplayState *s, int x, int y, int w, int h);
void (*dpy_resize)(struct DisplayState *s, int w, int h);
void (*dpy_refresh)(struct DisplayState *s);
+ void (*dpy_copy)(struct DisplayState *s, int src_x, int src_y, int dst_x, int dst_y, int w, int h);
};
static inline void dpy_update(DisplayState *s, int x, int y, int w, int h)
@@ -703,6 +713,9 @@
/* cocoa.m */
void cocoa_display_init(DisplayState *ds, int full_screen);
+/* vnc.c */
+void vnc_display_init(DisplayState *ds, int display);
+
/* ide.c */
#define MAX_DISKS 4
diff -urN -x '*.[di]' a.hg/vnc.c vnc.hg/vnc.c
--- a.hg/vnc.c 1969-12-31 18:00:00.000000000 -0600
+++ vnc.hg/vnc.c 2006-04-29 16:15:02.000000000 -0500
@@ -0,0 +1,894 @@
+#include "vl.h"
+
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <netinet/tcp.h>
+#include <fcntl.h>
+
+#define VNC_REFRESH_INTERVAL (1000 / 30)
+
+#include "vnc_keysym.h"
+#include "keymaps.c"
+
+typedef struct Buffer
+{
+ size_t capacity;
+ size_t offset;
+ char *buffer;
+} Buffer;
+
+typedef struct VncState VncState;
+
+typedef int VncReadEvent(VncState *vs, char *data, size_t len);
+
+struct VncState
+{
+ QEMUTimer *timer;
+ int lsock;
+ int csock;
+ DisplayState *ds;
+ int need_update;
+ int width;
+ int height;
+ uint64_t dirty_row[768];
+ char *old_data;
+ int depth;
+ int has_resize;
+ int has_hextile;
+ Buffer output;
+ Buffer input;
+ kbd_layout_t *kbd_layout;
+
+ VncReadEvent *read_handler;
+ size_t read_handler_expect;
+};
+
+/* TODO
+ 1) Get the queue working for IO.
+ 2) there is some weirdness when using the -S option (the screen is grey
+ and not totally invalidated
+ 3) resolutions > 1024
+*/
+
+static void vnc_write(VncState *vs, const void *data, size_t len);
+static void vnc_write_u32(VncState *vs, uint32_t value);
+static void vnc_write_s32(VncState *vs, int32_t value);
+static void vnc_write_u16(VncState *vs, uint16_t value);
+static void vnc_write_u8(VncState *vs, uint8_t value);
+static void vnc_flush(VncState *vs);
+static void vnc_update_client(void *opaque);
+static void vnc_client_read(void *opaque);
+
+static void vnc_dpy_update(DisplayState *ds, int x, int y, int w, int h)
+{
+ VncState *vs = ds->opaque;
+ int i;
+
+ h += y;
+
+ for (; y < h; y++)
+ for (i = 0; i < w; i += 16)
+ vs->dirty_row[y] |= (1ULL << ((x + i) / 16));
+}
+
+static void vnc_framebuffer_update(VncState *vs, int x, int y, int w, int h,
+ int32_t encoding)
+{
+ vnc_write_u16(vs, x);
+ vnc_write_u16(vs, y);
+ vnc_write_u16(vs, w);
+ vnc_write_u16(vs, h);
+
+ vnc_write_s32(vs, encoding);
+}
+
+static void vnc_dpy_resize(DisplayState *ds, int w, int h)
+{
+ VncState *vs = ds->opaque;
+
+ ds->data = realloc(ds->data, w * h * vs->depth);
+ vs->old_data = realloc(vs->old_data, w * h * vs->depth);
+
+ if (ds->data == NULL || vs->old_data == NULL) {
+ fprintf(stderr, "vnc: memory allocation failed\n");
+ exit(1);
+ }
+
+ ds->depth = vs->depth * 8;
+ ds->width = w;
+ ds->height = h;
+ ds->linesize = w * vs->depth;
+ if (vs->csock != -1 && vs->has_resize) {
+ vnc_write_u8(vs, 0); /* msg id */
+ vnc_write_u8(vs, 0);
+ vnc_write_u16(vs, 1); /* number of rects */
+ vnc_framebuffer_update(vs, 0, 0, ds->width, ds->height, -223);
+ vnc_flush(vs);
+ vs->width = ds->width;
+ vs->height = ds->height;
+ }
+}
+
+static void send_framebuffer_update_raw(VncState *vs, int x, int y, int w, int h)
+{
+ int i;
+ char *row;
+
+ vnc_framebuffer_update(vs, x, y, w, h, 0);
+
+ row = vs->ds->data + y * vs->ds->linesize + x * vs->depth;
+ for (i = 0; i < h; i++) {
+ vnc_write(vs, row, w * vs->depth);
+ row += vs->ds->linesize;
+ }
+}
+
+static void hextile_enc_cord(uint8_t *ptr, int x, int y, int w, int h)
+{
+ ptr[0] = ((x & 0x0F) << 4) | (y & 0x0F);
+ ptr[1] = (((w - 1) & 0x0F) << 4) | ((h - 1) & 0x0F);
+}
+
+#define BPP 8
+#include "vnchextile.h"
+#undef BPP
+
+#define BPP 16
+#include "vnchextile.h"
+#undef BPP
+
+#define BPP 32
+#include "vnchextile.h"
+#undef BPP
+
+static void send_framebuffer_update_hextile(VncState *vs, int x, int y, int w, int h)
+{
+ int i, j;
+ int has_fg, has_bg;
+ uint32_t last_fg32, last_bg32;
+ uint16_t last_fg16, last_bg16;
+ uint8_t last_fg8, last_bg8;
+
+ vnc_framebuffer_update(vs, x, y, w, h, 5);
+
+ has_fg = has_bg = 0;
+ for (j = y; j < (y + h); j += 16) {
+ for (i = x; i < (x + w); i += 16) {
+ switch (vs->depth) {
+ case 1:
+ send_hextile_tile_8(vs, i, j, MIN(16, x + w - i), MIN(16, y + h - j),
+ &last_bg8, &last_fg8, &has_bg, &has_fg);
+ break;
+ case 2:
+ send_hextile_tile_16(vs, i, j, MIN(16, x + w - i), MIN(16, y + h - j),
+ &last_bg16, &last_fg16, &has_bg, &has_fg);
+ break;
+ case 4:
+ send_hextile_tile_32(vs, i, j, MIN(16, x + w - i), MIN(16, y + h - j),
+ &last_bg32, &last_fg32, &has_bg, &has_fg);
+ break;
+ default:
+ break;
+ }
+ }
+ }
+}
+
+static void send_framebuffer_update(VncState *vs, int x, int y, int w, int h)
+{
+ if (vs->has_hextile)
+ send_framebuffer_update_hextile(vs, x, y, w, h);
+ else
+ send_framebuffer_update_raw(vs, x, y, w, h);
+}
+
+static void vnc_copy(DisplayState *ds, int src_x, int src_y, int dst_x, int dst_y, int w, int h)
+{
+ int src, dst;
+ char *src_row;
+ char *dst_row;
+ char *old_row;
+ int y = 0;
+ int pitch = ds->linesize;
+ VncState *vs = ds->opaque;
+
+ vnc_update_client(vs);
+
+ if (dst_y > src_y) {
+ y = h - 1;
+ pitch = -pitch;
+ }
+
+ src = (ds->linesize * (src_y + y) + vs->depth * src_x);
+ dst = (ds->linesize * (dst_y + y) + vs->depth * dst_x);
+
+ src_row = ds->data + src;
+ dst_row = ds->data + dst;
+ old_row = vs->old_data + dst;
+
+ for (y = 0; y < h; y++) {
+ memmove(old_row, src_row, w * vs->depth);
+ memmove(dst_row, src_row, w * vs->depth);
+ src_row += pitch;
+ dst_row += pitch;
+ old_row += pitch;
+ }
+
+ vnc_write_u8(vs, 0); /* msg id */
+ vnc_write_u8(vs, 0);
+ vnc_write_u16(vs, 1); /* number of rects */
+ vnc_framebuffer_update(vs, dst_x, dst_y, w, h, 1);
+ vnc_write_u16(vs, src_x);
+ vnc_write_u16(vs, src_y);
+ vnc_flush(vs);
+}
+
+static int find_dirty_height(VncState *vs, int y, int last_x, int x)
+{
+ int h;
+
+ for (h = 1; h < (vs->height - y); h++) {
+ int tmp_x;
+ if (!(vs->dirty_row[y + h] & (1ULL << last_x)))
+ break;
+ for (tmp_x = last_x; tmp_x < x; tmp_x++)
+ vs->dirty_row[y + h] &= ~(1ULL << tmp_x);
+ }
+
+ return h;
+}
+
+static void vnc_update_client(void *opaque)
+{
+ VncState *vs = opaque;
+
+ if (vs->need_update && vs->csock != -1) {
+ int y;
+ char *row;
+ char *old_row;
+ uint64_t width_mask;
+ int n_rectangles;
+ int saved_offset;
+ int has_dirty = 0;
+
+ width_mask = (1ULL << (vs->width / 16)) - 1;
+
+ if (vs->width == 1024)
+ width_mask = ~(0ULL);
+
+ /* Walk through the dirty map and eliminate tiles that
+ really aren't dirty */
+ row = vs->ds->data;
+ old_row = vs->old_data;
+
+ for (y = 0; y < vs->height; y++) {
+ if (vs->dirty_row[y] & width_mask) {
+ int x;
+ char *ptr, *old_ptr;
+
+ ptr = row;
+ old_ptr = old_row;
+
+ for (x = 0; x < vs->ds->width; x += 16) {
+ if (memcmp(old_ptr, ptr, 16 * vs->depth) == 0) {
+ vs->dirty_row[y] &= ~(1ULL << (x / 16));
+ } else {
+ has_dirty = 1;
+ memcpy(old_ptr, ptr, 16 * vs->depth);
+ }
+
+ ptr += 16 * vs->depth;
+ old_ptr += 16 * vs->depth;
+ }
+ }
+
+ row += vs->ds->linesize;
+ old_row += vs->ds->linesize;
+ }
+
+ if (!has_dirty) {
+ qemu_mod_timer(vs->timer, qemu_get_clock(rt_clock) + VNC_REFRESH_INTERVAL);
+ return;
+ }
+
+ /* Count rectangles */
+ n_rectangles = 0;
+ vnc_write_u8(vs, 0); /* msg id */
+ vnc_write_u8(vs, 0);
+ saved_offset = vs->output.offset;
+ vnc_write_u16(vs, 0);
+
+ for (y = 0; y < vs->height; y++) {
+ int x;
+ int last_x = -1;
+ for (x = 0; x < vs->width / 16; x++) {
+ if (vs->dirty_row[y] & (1ULL << x)) {
+ if (last_x == -1) {
+ last_x = x;
+ }
+ vs->dirty_row[y] &= ~(1ULL << x);
+ } else {
+ if (last_x != -1) {
+ int h = find_dirty_height(vs, y, last_x, x);
+ send_framebuffer_update(vs, last_x * 16, y, (x - last_x) * 16, h);
+ n_rectangles++;
+ }
+ last_x = -1;
+ }
+ }
+ if (last_x != -1) {
+ int h = find_dirty_height(vs, y, last_x, x);
+ send_framebuffer_update(vs, last_x * 16, y, (x - last_x) * 16, h);
+ n_rectangles++;
+ }
+ }
+ vs->output.buffer[saved_offset] = (n_rectangles >> 8) & 0xFF;
+ vs->output.buffer[saved_offset + 1] = n_rectangles & 0xFF;
+ vnc_flush(vs);
+
+ }
+ qemu_mod_timer(vs->timer, qemu_get_clock(rt_clock) + VNC_REFRESH_INTERVAL);
+}
+
+static void vnc_timer_init(VncState *vs)
+{
+ if (vs->timer == NULL) {
+ vs->timer = qemu_new_timer(rt_clock, vnc_update_client, vs);
+ qemu_mod_timer(vs->timer, qemu_get_clock(rt_clock));
+ }
+}
+
+static void vnc_dpy_refresh(DisplayState *ds)
+{
+ VncState *vs = ds->opaque;
+ vnc_timer_init(vs);
+ vga_hw_update();
+}
+
+static int vnc_listen_poll(void *opaque)
+{
+ VncState *vs = opaque;
+ if (vs->csock == -1)
+ return 1;
+ return 0;
+}
+
+static void buffer_reserve(Buffer *buffer, size_t len)
+{
+ if ((buffer->capacity - buffer->offset) < len) {
+ buffer->capacity += (len + 1024);
+ buffer->buffer = realloc(buffer->buffer, buffer->capacity);
+ if (buffer->buffer == NULL) {
+ fprintf(stderr, "vnc: out of memory\n");
+ exit(1);
+ }
+ }
+}
+
+static int buffer_empty(Buffer *buffer)
+{
+ return buffer->offset == 0;
+}
+
+static char *buffer_end(Buffer *buffer)
+{
+ return buffer->buffer + buffer->offset;
+}
+
+static void buffer_reset(Buffer *buffer)
+{
+ buffer->offset = 0;
+}
+
+static void buffer_append(Buffer *buffer, const void *data, size_t len)
+{
+ memcpy(buffer->buffer + buffer->offset, data, len);
+ buffer->offset += len;
+}
+
+static int vnc_client_io_error(VncState *vs, int ret)
+{
+ if (ret == 0 || ret == -1) {
+ if (ret == -1 && (errno == EINTR || errno == EAGAIN))
+ return 0;
+
+ qemu_set_fd_handler2(vs->csock, NULL, NULL, NULL, NULL);
+ close(vs->csock);
+ vs->csock = -1;
+ buffer_reset(&vs->input);
+ buffer_reset(&vs->output);
+ vs->need_update = 0;
+ return 0;
+ }
+ return ret;
+}
+
+static void vnc_client_error(VncState *vs)
+{
+ errno = EINVAL;
+ vnc_client_io_error(vs, -1);
+}
+
+static void vnc_client_write(void *opaque)
+{
+ ssize_t ret;
+ VncState *vs = opaque;
+
+ ret = write(vs->csock, vs->output.buffer, vs->output.offset);
+ ret = vnc_client_io_error(vs, ret);
+ if (!ret)
+ return;
+
+ memmove(vs->output.buffer, vs->output.buffer + ret, (vs->output.offset - ret));
+ vs->output.offset -= ret;
+
+ if (vs->output.offset == 0) {
+ qemu_set_fd_handler2(vs->csock, NULL, vnc_client_read, NULL, vs);
+ }
+}
+
+static void vnc_read_when(VncState *vs, VncReadEvent *func, size_t expecting)
+{
+ vs->read_handler = func;
+ vs->read_handler_expect = expecting;
+}
+
+static void vnc_client_read(void *opaque)
+{
+ VncState *vs = opaque;
+ ssize_t ret;
+
+ buffer_reserve(&vs->input, 4096);
+
+ ret = read(vs->csock, buffer_end(&vs->input), 4096);
+ ret = vnc_client_io_error(vs, ret);
+ if (!ret)
+ return;
+
+ vs->input.offset += ret;
+
+ while (vs->read_handler && vs->input.offset >= vs->read_handler_expect) {
+ size_t len = vs->read_handler_expect;
+ int ret;
+
+ ret = vs->read_handler(vs, vs->input.buffer, len);
+ if (vs->csock == -1)
+ return;
+
+ if (!ret) {
+ memmove(vs->input.buffer, vs->input.buffer + len, (vs->input.offset - len));
+ vs->input.offset -= len;
+ } else {
+ vs->read_handler_expect = ret;
+ }
+ }
+}
+
+static void vnc_write(VncState *vs, const void *data, size_t len)
+{
+ buffer_reserve(&vs->output, len);
+
+ if (buffer_empty(&vs->output)) {
+ qemu_set_fd_handler2(vs->csock, NULL, vnc_client_read, vnc_client_write, vs);
+ }
+
+ buffer_append(&vs->output, data, len);
+}
+
+static void vnc_write_s32(VncState *vs, int32_t value)
+{
+ vnc_write_u32(vs, *(uint32_t *)&value);
+}
+
+static void vnc_write_u32(VncState *vs, uint32_t value)
+{
+ uint8_t buf[4];
+
+ buf[0] = (value >> 24) & 0xFF;
+ buf[1] = (value >> 16) & 0xFF;
+ buf[2] = (value >> 8) & 0xFF;
+ buf[3] = value & 0xFF;
+
+ vnc_write(vs, buf, 4);
+}
+
+static void vnc_write_u16(VncState *vs, uint16_t value)
+{
+ char buf[2];
+
+ buf[0] = (value >> 8) & 0xFF;
+ buf[1] = value & 0xFF;
+
+ vnc_write(vs, buf, 2);
+}
+
+static void vnc_write_u8(VncState *vs, uint8_t value)
+{
+ vnc_write(vs, (char *)&value, 1);
+}
+
+static void vnc_flush(VncState *vs)
+{
+ if (vs->output.offset)
+ vnc_client_write(vs);
+}
+
+static uint8_t read_u8(char *data, size_t offset)
+{
+ return data[offset];
+}
+
+static uint16_t read_u16(char *data, size_t offset)
+{
+ return ((data[offset] & 0xFF) << 8) | (data[offset + 1] & 0xFF);
+}
+
+static int32_t read_s32(char *data, size_t offset)
+{
+ return (int32_t)((data[offset] << 24) | (data[offset + 1] << 16) |
+ (data[offset + 2] << 8) | data[offset + 3]);
+}
+
+static uint32_t read_u32(char *data, size_t offset)
+{
+ return ((data[offset] << 24) | (data[offset + 1] << 16) |
+ (data[offset + 2] << 8) | data[offset + 3]);
+}
+
+static void client_cut_text(VncState *vs, size_t len, char *text)
+{
+}
+
+static void pointer_event(VncState *vs, int button_mask, int x, int y)
+{
+ int buttons = 0;
+ int dz = 0;
+
+ if (button_mask & 0x01)
+ buttons |= MOUSE_EVENT_LBUTTON;
+ if (button_mask & 0x02)
+ buttons |= MOUSE_EVENT_MBUTTON;
+ if (button_mask & 0x04)
+ buttons |= MOUSE_EVENT_RBUTTON;
+ if (button_mask & 0x08)
+ dz = -1;
+ if (button_mask & 0x10)
+ dz = 1;
+
+ if (kbd_mouse_is_absolute()) {
+ kbd_mouse_event(x * 0x7FFF / vs->ds->width,
+ y * 0x7FFF / vs->ds->height,
+ dz, buttons);
+ } else {
+ static int last_x = -1;
+ static int last_y = -1;
+
+ if (last_x != -1)
+ kbd_mouse_event(x - last_x, y - last_y, dz, buttons);
+
+ last_x = x;
+ last_y = y;
+ }
+}
+
+static void key_event(VncState *vs, int down, uint32_t sym)
+{
+ int keycode;
+
+ keycode = keysym2scancode(vs->kbd_layout, sym & 0xFFFF);
+
+ if (keycode & 0x80)
+ kbd_put_keycode(0xe0);
+ if (down)
+ kbd_put_keycode(keycode & 0x7f);
+ else
+ kbd_put_keycode(keycode | 0x80);
+}
+
+static void framebuffer_update_request(VncState *vs, int incremental,
+ int x_position, int y_position,
+ int w, int h)
+{
+ int i;
+ vs->need_update = 1;
+ if (!incremental) {
+ char *old_row = vs->old_data + y_position * vs->ds->linesize;
+
+ for (i = 0; i < h; i++) {
+ vs->dirty_row[y_position + i] = (1ULL << (vs->ds->width / 16)) - 1;
+ if (vs->ds->width == 1024) {
+ vs->dirty_row[y_position + i] = ~(0ULL);
+ }
+ memset(old_row, 42, vs->ds->width * vs->depth);
+ old_row += vs->ds->linesize;
+ }
+ }
+}
+
+static void set_encodings(VncState *vs, int32_t *encodings, size_t n_encodings)
+{
+ int i;
+
+ vs->has_hextile = 0;
+ vs->has_resize = 0;
+ vs->ds->dpy_copy = NULL;
+
+ for (i = n_encodings - 1; i >= 0; i--) {
+ switch (encodings[i]) {
+ case 0: /* Raw */
+ vs->has_hextile = 0;
+ break;
+ case 1: /* CopyRect */
+ vs->ds->dpy_copy = vnc_copy;
+ break;
+ case 5: /* Hextile */
+ vs->has_hextile = 1;
+ break;
+ case -223: /* DesktopResize */
+ vs->has_resize = 1;
+ break;
+ default:
+ break;
+ }
+ }
+}
+
+static void set_pixel_format(VncState *vs,
+ int bits_per_pixel, int depth,
+ int big_endian_flag, int true_color_flag,
+ int red_max, int green_max, int blue_max,
+ int red_shift, int green_shift, int blue_shift)
+{
+ switch (bits_per_pixel) {
+ case 32:
+ case 24:
+ vs->depth = 4;
+ break;
+ case 16:
+ vs->depth = 2;
+ break;
+ case 8:
+ vs->depth = 1;
+ break;
+ default:
+ vnc_client_error(vs);
+ break;
+ }
+
+ if (!true_color_flag)
+ vnc_client_error(vs);
+
+ vnc_dpy_resize(vs->ds, vs->ds->width, vs->ds->height);
+ memset(vs->dirty_row, 0xFF, sizeof(vs->dirty_row));
+ memset(vs->old_data, 42, vs->ds->linesize * vs->ds->height);
+
+ vga_hw_invalidate();
+ vga_hw_update();
+}
+
+static int protocol_client_msg(VncState *vs, char *data, size_t len)
+{
+ int i;
+ uint16_t limit;
+
+ switch (data[0]) {
+ case 0:
+ if (len == 1)
+ return 20;
+
+ set_pixel_format(vs, read_u8(data, 4), read_u8(data, 5),
+ read_u8(data, 6), read_u8(data, 7),
+ read_u16(data, 8), read_u16(data, 10),
+ read_u16(data, 12), read_u8(data, 14),
+ read_u8(data, 15), read_u8(data, 16));
+ break;
+ case 2:
+ if (len == 1)
+ return 4;
+
+ if (len == 4)
+ return 4 + (read_u16(data, 2) * 4);
+
+ limit = read_u16(data, 2);
+ for (i = 0; i < limit; i++) {
+ int32_t val = read_s32(data, 4 + (i * 4));
+ memcpy(data + 4 + (i * 4), &val, sizeof(val));
+ }
+
+ set_encodings(vs, (int32_t *)(data + 4), limit);
+ break;
+ case 3:
+ if (len == 1)
+ return 10;
+
+ framebuffer_update_request(vs,
+ read_u8(data, 1), read_u16(data, 2), read_u16(data, 4),
+ read_u16(data, 6), read_u16(data, 8));
+ break;
+ case 4:
+ if (len == 1)
+ return 8;
+
+ key_event(vs, read_u8(data, 1), read_u32(data, 4));
+ break;
+ case 5:
+ if (len == 1)
+ return 6;
+
+ pointer_event(vs, read_u8(data, 1), read_u16(data, 2), read_u16(data, 4));
+ break;
+ case 6:
+ if (len == 1)
+ return 8;
+
+ if (len == 8)
+ return 8 + read_u32(data, 4);
+
+ client_cut_text(vs, read_u32(data, 4), data + 8);
+ break;
+ default:
+ printf("Msg: %d\n", data[0]);
+ vnc_client_error(vs);
+ break;
+ }
+
+ vnc_read_when(vs, protocol_client_msg, 1);
+ return 0;
+}
+
+static int protocol_client_init(VncState *vs, char *data, size_t len)
+{
+ char pad[3] = { 0, 0, 0 };
+
+ vs->width = vs->ds->width;
+ vs->height = vs->ds->height;
+ vnc_write_u16(vs, vs->ds->width);
+ vnc_write_u16(vs, vs->ds->height);
+
+ vnc_write_u8(vs, vs->depth * 8); /* bits-per-pixel */
+ vnc_write_u8(vs, vs->depth * 8); /* depth */
+ vnc_write_u8(vs, 0); /* big-endian-flag */
+ vnc_write_u8(vs, 1); /* true-color-flag */
+ if (vs->depth == 4) {
+ vnc_write_u16(vs, 0xFF); /* red-max */
+ vnc_write_u16(vs, 0xFF); /* green-max */
+ vnc_write_u16(vs, 0xFF); /* blue-max */
+ vnc_write_u8(vs, 16); /* red-shift */
+ vnc_write_u8(vs, 8); /* green-shift */
+ vnc_write_u8(vs, 0); /* blue-shift */
+ } else if (vs->depth == 2) {
+ vnc_write_u16(vs, 31); /* red-max */
+ vnc_write_u16(vs, 63); /* green-max */
+ vnc_write_u16(vs, 31); /* blue-max */
+ vnc_write_u8(vs, 11); /* red-shift */
+ vnc_write_u8(vs, 5); /* green-shift */
+ vnc_write_u8(vs, 0); /* blue-shift */
+ } else if (vs->depth == 1) {
+ vnc_write_u16(vs, 3); /* red-max */
+ vnc_write_u16(vs, 7); /* green-max */
+ vnc_write_u16(vs, 3); /* blue-max */
+ vnc_write_u8(vs, 5); /* red-shift */
+ vnc_write_u8(vs, 2); /* green-shift */
+ vnc_write_u8(vs, 0); /* blue-shift */
+ }
+
+ vnc_write(vs, pad, 3); /* padding */
+
+ vnc_write_u32(vs, 4);
+ vnc_write(vs, "QEMU", 4);
+ vnc_flush(vs);
+
+ vnc_read_when(vs, protocol_client_msg, 1);
+
+ return 0;
+}
+
+static int protocol_version(VncState *vs, char *version, size_t len)
+{
+ char local[13];
+ int maj, min;
+
+ memcpy(local, version, 12);
+ local[12] = 0;
+
+ if (sscanf(local, "RFB %03d.%03d\n", &maj, &min) != 2) {
+ vnc_client_error(vs);
+ return 0;
+ }
+
+ vnc_write_u32(vs, 1); /* None */
+ vnc_flush(vs);
+
+ vnc_read_when(vs, protocol_client_init, 1);
+
+ return 0;
+}
+
+static void vnc_listen_read(void *opaque)
+{
+ VncState *vs = opaque;
+ struct sockaddr_in addr;
+ socklen_t addrlen = sizeof(addr);
+
+ vs->csock = accept(vs->lsock, (struct sockaddr *)&addr, &addrlen);
+ if (vs->csock != -1) {
+ fcntl(vs->csock, F_SETFL, O_NONBLOCK);
+ qemu_set_fd_handler2(vs->csock, NULL, vnc_client_read, NULL, opaque);
+ vnc_write(vs, "RFB 003.003\n", 12);
+ vnc_flush(vs);
+ vnc_read_when(vs, protocol_version, 12);
+ memset(vs->old_data, 0, vs->ds->linesize * vs->ds->height);
+ memset(vs->dirty_row, 0xFF, sizeof(vs->dirty_row));
+ vs->has_resize = 0;
+ vs->has_hextile = 0;
+ vs->ds->dpy_copy = NULL;
+ }
+}
+
+void vnc_display_init(DisplayState *ds, int display)
+{
+ struct sockaddr_in addr;
+ int reuse_addr, ret;
+ VncState *vs;
+
+ vs = qemu_mallocz(sizeof(VncState));
+ if (!vs)
+ exit(1);
+
+ ds->opaque = vs;
+
+ vs->lsock = -1;
+ vs->csock = -1;
+ vs->depth = 4;
+
+ vs->ds = ds;
+
+ if (!keyboard_layout)
+ keyboard_layout = "en-us";
+
+ vs->kbd_layout = init_keyboard_layout(keyboard_layout);
+ if (!vs->kbd_layout)
+ exit(1);
+
+ vs->lsock = socket(PF_INET, SOCK_STREAM, 0);
+ if (vs->lsock == -1) {
+ fprintf(stderr, "Could not create socket\n");
+ exit(1);
+ }
+
+ addr.sin_family = AF_INET;
+ addr.sin_port = htons(5900 + display);
+ memset(&addr.sin_addr, 0, sizeof(addr.sin_addr));
+
+ reuse_addr = 1;
+ ret = setsockopt(vs->lsock, SOL_SOCKET, SO_REUSEADDR,
+ &reuse_addr, sizeof(reuse_addr));
+ if (ret == -1) {
+ fprintf(stderr, "setsockopt() failed\n");
+ exit(1);
+ }
+
+ if (bind(vs->lsock, (struct sockaddr *)&addr, sizeof(addr)) == -1) {
+ fprintf(stderr, "bind() failed\n");
+ exit(1);
+ }
+
+ if (listen(vs->lsock, 1) == -1) {
+ fprintf(stderr, "listen() failed\n");
+ exit(1);
+ }
+
+ ret = qemu_set_fd_handler2(vs->lsock, vnc_listen_poll, vnc_listen_read, NULL, vs);
+ if (ret == -1) {
+ exit(1);
+ }
+
+ vs->ds->data = NULL;
+ vs->ds->dpy_update = vnc_dpy_update;
+ vs->ds->dpy_resize = vnc_dpy_resize;
+ vs->ds->dpy_refresh = vnc_dpy_refresh;
+
+ memset(vs->dirty_row, 0xFF, sizeof(vs->dirty_row));
+
+ vnc_dpy_resize(vs->ds, 640, 400);
+}
diff -urN -x '*.[di]' a.hg/vnchextile.h vnc.hg/vnchextile.h
--- a.hg/vnchextile.h 1969-12-31 18:00:00.000000000 -0600
+++ vnc.hg/vnchextile.h 2006-04-28 00:58:59.000000000 -0500
@@ -0,0 +1,189 @@
+#define CONCAT_I(a, b) a ## b
+#define CONCAT(a, b) CONCAT_I(a, b)
+#define pixel_t CONCAT(uint, CONCAT(BPP, _t))
+
+static void CONCAT(send_hextile_tile_, BPP)(VncState *vs,
+ int x, int y, int w, int h,
+ pixel_t *last_bg, pixel_t *last_fg,
+ int *has_bg, int *has_fg)
+{
+ char *row = (vs->ds->data + y * vs->ds->linesize + x * vs->depth);
+ pixel_t *irow = (pixel_t *)row;
+ int j, i;
+ pixel_t bg = 0;
+ pixel_t fg = 0;
+ int n_colors = 0;
+ int bg_count = 0;
+ int fg_count = 0;
+ int flags = 0;
+ uint8_t data[(sizeof(pixel_t) + 2) * 16 * 16];
+ int n_data = 0;
+ int n_subtiles = 0;
+
+ for (j = 0; j < h; j++) {
+ for (i = 0; i < w; i++) {
+ switch (n_colors) {
+ case 0:
+ bg = irow[i];
+ n_colors = 1;
+ break;
+ case 1:
+ if (irow[i] != bg) {
+ fg = irow[i];
+ n_colors = 2;
+ }
+ break;
+ case 2:
+ if (irow[i] != bg && irow[i] != fg) {
+ n_colors = 3;
+ } else {
+ if (irow[i] == bg)
+ bg_count++;
+ else if (irow[i] == fg)
+ fg_count++;
+ }
+ break;
+ default:
+ break;
+ }
+ }
+ if (n_colors > 2)
+ break;
+ irow += vs->ds->linesize / sizeof(pixel_t);
+ }
+
+ if (n_colors > 1 && fg_count > bg_count) {
+ pixel_t tmp = fg;
+ fg = bg;
+ bg = tmp;
+ }
+
+ if (!*has_bg || *last_bg != bg) {
+ flags |= 0x02;
+ *has_bg = 1;
+ *last_bg = bg;
+ }
+
+ if (!*has_fg || *last_fg != fg) {
+ flags |= 0x04;
+ *has_fg = 1;
+ *last_fg = fg;
+ }
+
+ switch (n_colors) {
+ case 1:
+ n_data = 0;
+ break;
+ case 2:
+ flags |= 0x08;
+
+ irow = (pixel_t *)row;
+
+ for (j = 0; j < h; j++) {
+ int min_x = -1;
+ for (i = 0; i < w; i++) {
+ if (irow[i] == fg) {
+ if (min_x == -1)
+ min_x = i;
+ } else if (min_x != -1) {
+ hextile_enc_cord(data + n_data, min_x, j, i - min_x, 1);
+ n_data += 2;
+ n_subtiles++;
+ min_x = -1;
+ }
+ }
+ if (min_x != -1) {
+ hextile_enc_cord(data + n_data, min_x, j, i - min_x, 1);
+ n_data += 2;
+ n_subtiles++;
+ }
+ irow += vs->ds->linesize / sizeof(pixel_t);
+ }
+ break;
+ case 3:
+ flags |= 0x18;
+
+ irow = (pixel_t *)row;
+
+ if (!*has_bg || *last_bg != bg)
+ flags |= 0x02;
+
+ for (j = 0; j < h; j++) {
+ int has_color = 0;
+ int min_x = -1;
+ pixel_t color;
+
+ for (i = 0; i < w; i++) {
+ if (!has_color) {
+ if (irow[i] == bg)
+ continue;
+ color = irow[i];
+ min_x = i;
+ has_color = 1;
+ } else if (irow[i] != color) {
+ has_color = 0;
+
+ memcpy(data + n_data, &color, sizeof(color));
+ hextile_enc_cord(data + n_data + sizeof(pixel_t), min_x, j, i - min_x, 1);
+ n_data += 2 + sizeof(pixel_t);
+ n_subtiles++;
+
+ min_x = -1;
+ if (irow[i] != bg) {
+ color = irow[i];
+ min_x = i;
+ has_color = 1;
+ }
+ }
+ }
+ if (has_color) {
+ memcpy(data + n_data, &color, sizeof(color));
+ hextile_enc_cord(data + n_data + sizeof(pixel_t), min_x, j, i - min_x, 1);
+ n_data += 2 + sizeof(pixel_t);
+ n_subtiles++;
+ }
+ irow += vs->ds->linesize / sizeof(pixel_t);
+ }
+
+ /* A SubrectsColoured subtile invalidates the foreground color */
+ *has_fg = 0;
+ if (n_data > (w * h * sizeof(pixel_t))) {
+ n_colors = 4;
+ flags = 0x01;
+ *has_bg = 0;
+
+ /* we really don't have to invalidate either the bg or fg
+ but we've lost the old values. oh well. */
+ }
+ default:
+ break;
+ }
+
+ if (n_colors > 3) {
+ flags = 0x01;
+ *has_fg = 0;
+ *has_bg = 0;
+ n_colors = 4;
+ }
+
+ vnc_write_u8(vs, flags);
+ if (n_colors < 4) {
+ if (flags & 0x02)
+ vnc_write(vs, last_bg, sizeof(pixel_t));
+ if (flags & 0x04)
+ vnc_write(vs, last_fg, sizeof(pixel_t));
+ if (n_subtiles) {
+ vnc_write_u8(vs, n_subtiles);
+ vnc_write(vs, data, n_data);
+ }
+ } else {
+ for (j = 0; j < h; j++) {
+ vnc_write(vs, row, w * vs->depth);
+ row += vs->ds->linesize;
+ }
+ }
+}
+
+#undef pixel_t
+#undef CONCAT_I
+#undef CONCAT
diff -urN -x '*.[di]' a.hg/vnc_keysym.h vnc.hg/vnc_keysym.h
--- a.hg/vnc_keysym.h 1969-12-31 18:00:00.000000000 -0600
+++ vnc.hg/vnc_keysym.h 2006-04-23 12:31:00.000000000 -0500
@@ -0,0 +1,275 @@
+typedef struct {
+ const char* name;
+ int keysym;
+} name2keysym_t;
+static name2keysym_t name2keysym[]={
+/* ascii */
+ { "space", 0x020},
+ { "exclam", 0x021},
+ { "quotedbl", 0x022},
+ { "numbersign", 0x023},
+ { "dollar", 0x024},
+ { "percent", 0x025},
+ { "ampersand", 0x026},
+ { "apostrophe", 0x027},
+ { "parenleft", 0x028},
+ { "parenright", 0x029},
+ { "asterisk", 0x02a},
+ { "plus", 0x02b},
+ { "comma", 0x02c},
+ { "minus", 0x02d},
+ { "period", 0x02e},
+ { "slash", 0x02f},
+ { "0", 0x030},
+ { "1", 0x031},
+ { "2", 0x032},
+ { "3", 0x033},
+ { "4", 0x034},
+ { "5", 0x035},
+ { "6", 0x036},
+ { "7", 0x037},
+ { "8", 0x038},
+ { "9", 0x039},
+ { "colon", 0x03a},
+ { "semicolon", 0x03b},
+ { "less", 0x03c},
+ { "equal", 0x03d},
+ { "greater", 0x03e},
+ { "question", 0x03f},
+ { "at", 0x040},
+ { "A", 0x041},
+ { "B", 0x042},
+ { "C", 0x043},
+ { "D", 0x044},
+ { "E", 0x045},
+ { "F", 0x046},
+ { "G", 0x047},
+ { "H", 0x048},
+ { "I", 0x049},
+ { "J", 0x04a},
+ { "K", 0x04b},
+ { "L", 0x04c},
+ { "M", 0x04d},
+ { "N", 0x04e},
+ { "O", 0x04f},
+ { "P", 0x050},
+ { "Q", 0x051},
+ { "R", 0x052},
+ { "S", 0x053},
+ { "T", 0x054},
+ { "U", 0x055},
+ { "V", 0x056},
+ { "W", 0x057},
+ { "X", 0x058},
+ { "Y", 0x059},
+ { "Z", 0x05a},
+ { "bracketleft", 0x05b},
+ { "backslash", 0x05c},
+ { "bracketright", 0x05d},
+ { "asciicircum", 0x05e},
+ { "underscore", 0x05f},
+ { "grave", 0x060},
+ { "a", 0x061},
+ { "b", 0x062},
+ { "c", 0x063},
+ { "d", 0x064},
+ { "e", 0x065},
+ { "f", 0x066},
+ { "g", 0x067},
+ { "h", 0x068},
+ { "i", 0x069},
+ { "j", 0x06a},
+ { "k", 0x06b},
+ { "l", 0x06c},
+ { "m", 0x06d},
+ { "n", 0x06e},
+ { "o", 0x06f},
+ { "p", 0x070},
+ { "q", 0x071},
+ { "r", 0x072},
+ { "s", 0x073},
+ { "t", 0x074},
+ { "u", 0x075},
+ { "v", 0x076},
+ { "w", 0x077},
+ { "x", 0x078},
+ { "y", 0x079},
+ { "z", 0x07a},
+ { "braceleft", 0x07b},
+ { "bar", 0x07c},
+ { "braceright", 0x07d},
+ { "asciitilde", 0x07e},
+
+/* latin 1 extensions */
+{ "nobreakspace", 0x0a0},
+{ "exclamdown", 0x0a1},
+{ "cent", 0x0a2},
+{ "sterling", 0x0a3},
+{ "currency", 0x0a4},
+{ "yen", 0x0a5},
+{ "brokenbar", 0x0a6},
+{ "section", 0x0a7},
+{ "diaeresis", 0x0a8},
+{ "copyright", 0x0a9},
+{ "ordfeminine", 0x0aa},
+{ "guillemotleft", 0x0ab},
+{ "notsign", 0x0ac},
+{ "hyphen", 0x0ad},
+{ "registered", 0x0ae},
+{ "macron", 0x0af},
+{ "degree", 0x0b0},
+{ "plusminus", 0x0b1},
+{ "twosuperior", 0x0b2},
+{ "threesuperior", 0x0b3},
+{ "acute", 0x0b4},
+{ "mu", 0x0b5},
+{ "paragraph", 0x0b6},
+{ "periodcentered", 0x0b7},
+{ "cedilla", 0x0b8},
+{ "onesuperior", 0x0b9},
+{ "masculine", 0x0ba},
+{ "guillemotright", 0x0bb},
+{ "onequarter", 0x0bc},
+{ "onehalf", 0x0bd},
+{ "threequarters", 0x0be},
+{ "questiondown", 0x0bf},
+{ "Agrave", 0x0c0},
+{ "Aacute", 0x0c1},
+{ "Acircumflex", 0x0c2},
+{ "Atilde", 0x0c3},
+{ "Adiaeresis", 0x0c4},
+{ "Aring", 0x0c5},
+{ "AE", 0x0c6},
+{ "Ccedilla", 0x0c7},
+{ "Egrave", 0x0c8},
+{ "Eacute", 0x0c9},
+{ "Ecircumflex", 0x0ca},
+{ "Ediaeresis", 0x0cb},
+{ "Igrave", 0x0cc},
+{ "Iacute", 0x0cd},
+{ "Icircumflex", 0x0ce},
+{ "Idiaeresis", 0x0cf},
+{ "ETH", 0x0d0},
+{ "Eth", 0x0d0},
+{ "Ntilde", 0x0d1},
+{ "Ograve", 0x0d2},
+{ "Oacute", 0x0d3},
+{ "Ocircumflex", 0x0d4},
+{ "Otilde", 0x0d5},
+{ "Odiaeresis", 0x0d6},
+{ "multiply", 0x0d7},
+{ "Ooblique", 0x0d8},
+{ "Oslash", 0x0d8},
+{ "Ugrave", 0x0d9},
+{ "Uacute", 0x0da},
+{ "Ucircumflex", 0x0db},
+{ "Udiaeresis", 0x0dc},
+{ "Yacute", 0x0dd},
+{ "THORN", 0x0de},
+{ "Thorn", 0x0de},
+{ "ssharp", 0x0df},
+{ "agrave", 0x0e0},
+{ "aacute", 0x0e1},
+{ "acircumflex", 0x0e2},
+{ "atilde", 0x0e3},
+{ "adiaeresis", 0x0e4},
+{ "aring", 0x0e5},
+{ "ae", 0x0e6},
+{ "ccedilla", 0x0e7},
+{ "egrave", 0x0e8},
+{ "eacute", 0x0e9},
+{ "ecircumflex", 0x0ea},
+{ "ediaeresis", 0x0eb},
+{ "igrave", 0x0ec},
+{ "iacute", 0x0ed},
+{ "icircumflex", 0x0ee},
+{ "idiaeresis", 0x0ef},
+{ "eth", 0x0f0},
+{ "ntilde", 0x0f1},
+{ "ograve", 0x0f2},
+{ "oacute", 0x0f3},
+{ "ocircumflex", 0x0f4},
+{ "otilde", 0x0f5},
+{ "odiaeresis", 0x0f6},
+{ "division", 0x0f7},
+{ "oslash", 0x0f8},
+{ "ooblique", 0x0f8},
+{ "ugrave", 0x0f9},
+{ "uacute", 0x0fa},
+{ "ucircumflex", 0x0fb},
+{ "udiaeresis", 0x0fc},
+{ "yacute", 0x0fd},
+{ "thorn", 0x0fe},
+{ "ydiaeresis", 0x0ff},
+{"EuroSign", 0x20ac}, /* XK_EuroSign */
+
+ /* modifiers */
+{"Control_L", 0xffe3}, /* XK_Control_L */
+{"Control_R", 0xffe4}, /* XK_Control_R */
+{"Alt_L", 0xffe9}, /* XK_Alt_L */
+{"Alt_R", 0xffea}, /* XK_Alt_R */
+{"Caps_Lock", 0xffe5}, /* XK_Caps_Lock */
+{"Meta_L", 0xffe7}, /* XK_Meta_L */
+{"Meta_R", 0xffe8}, /* XK_Meta_R */
+{"Shift_L", 0xffe1}, /* XK_Shift_L */
+{"Shift_R", 0xffe2}, /* XK_Shift_R */
+{"Super_L", 0xffeb}, /* XK_Super_L */
+{"Super_R", 0xffec}, /* XK_Super_R */
+
+ /* special keys */
+{"BackSpace", 0xff08}, /* XK_BackSpace */
+{"Tab", 0xff09}, /* XK_Tab */
+{"Return", 0xff0d}, /* XK_Return */
+{"Right", 0xff53}, /* XK_Right */
+{"Left", 0xff51}, /* XK_Left */
+{"Up", 0xff52}, /* XK_Up */
+{"Down", 0xff54}, /* XK_Down */
+{"Page_Down", 0xff56}, /* XK_Page_Down */
+{"Page_Up", 0xff55}, /* XK_Page_Up */
+{"Insert", 0xff63}, /* XK_Insert */
+{"Delete", 0xffff}, /* XK_Delete */
+{"Home", 0xff50}, /* XK_Home */
+{"End", 0xff57}, /* XK_End */
+{"Scroll_Lock", 0xff14}, /* XK_Scroll_Lock */
+{"F1", 0xffbe}, /* XK_F1 */
+{"F2", 0xffbf}, /* XK_F2 */
+{"F3", 0xffc0}, /* XK_F3 */
+{"F4", 0xffc1}, /* XK_F4 */
+{"F5", 0xffc2}, /* XK_F5 */
+{"F6", 0xffc3}, /* XK_F6 */
+{"F7", 0xffc4}, /* XK_F7 */
+{"F8", 0xffc5}, /* XK_F8 */
+{"F9", 0xffc6}, /* XK_F9 */
+{"F10", 0xffc7}, /* XK_F10 */
+{"F11", 0xffc8}, /* XK_F11 */
+{"F12", 0xffc9}, /* XK_F12 */
+{"F13", 0xffca}, /* XK_F13 */
+{"F14", 0xffcb}, /* XK_F14 */
+{"F15", 0xffcc}, /* XK_F15 */
+{"Sys_Req", 0xff15}, /* XK_Sys_Req */
+{"KP_0", 0xffb0}, /* XK_KP_0 */
+{"KP_1", 0xffb1}, /* XK_KP_1 */
+{"KP_2", 0xffb2}, /* XK_KP_2 */
+{"KP_3", 0xffb3}, /* XK_KP_3 */
+{"KP_4", 0xffb4}, /* XK_KP_4 */
+{"KP_5", 0xffb5}, /* XK_KP_5 */
+{"KP_6", 0xffb6}, /* XK_KP_6 */
+{"KP_7", 0xffb7}, /* XK_KP_7 */
+{"KP_8", 0xffb8}, /* XK_KP_8 */
+{"KP_9", 0xffb9}, /* XK_KP_9 */
+{"KP_Add", 0xffab}, /* XK_KP_Add */
+{"KP_Decimal", 0xffae}, /* XK_KP_Decimal */
+{"KP_Divide", 0xffaf}, /* XK_KP_Divide */
+{"KP_Enter", 0xff8d}, /* XK_KP_Enter */
+{"KP_Equal", 0xffbd}, /* XK_KP_Equal */
+{"KP_Multiply", 0xffaa}, /* XK_KP_Multiply */
+{"KP_Subtract", 0xffad}, /* XK_KP_Subtract */
+{"help", 0xff6a}, /* XK_Help */
+{"Menu", 0xff67}, /* XK_Menu */
+{"Print", 0xff61}, /* XK_Print */
+{"Mode_switch", 0xff7e}, /* XK_Mode_switch */
+{"Num_Lock", 0xff7f}, /* XK_Num_Lock */
+{"Pause", 0xff13}, /* XK_Pause */
+{"Escape", 0xff1b}, /* XK_Escape */
+{0,0},
+};
^ permalink raw reply
* Re: another kconfig target for building monolithic kernel (for security) ?
From: Arjan van de Ven @ 2006-04-29 21:22 UTC (permalink / raw)
To: Dave Jones; +Cc: devzero, linux-kernel
In-Reply-To: <20060429164331.GA26122@redhat.com>
On Sat, 2006-04-29 at 12:43 -0400, Dave Jones wrote:
> On Sat, Apr 29, 2006 at 03:03:55PM +0200, devzero@web.de wrote:
>
> > i want to harden a linux system (dedicated root server on the internet) by recompiling the kernel without support for lkm (to prevent installation of lkm based rootkits etc)
>
> Loading modules via /dev/kmem is trivial thanks to a bunch of tutorials and
> examples on the web, so this alone doesn't make life that much more difficult for attackers.
/dev/kmem should be a config option too though
(and /dev/mem should get the filter patch that fedora has ;-)
^ permalink raw reply
* Re: better leve triggered IRQ management needed
From: Alan Cox @ 2006-04-29 21:25 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: Andrew Morton, Linus Torvalds, linux-kernel
In-Reply-To: <20060424114105.113eecac@localhost.localdomain>
On Llu, 2006-04-24 at 11:41 -0700, Stephen Hemminger wrote:
> I am seeing repeated problems with misconfigured systems that have shared IRQ
> devices configured for edge-triggered.
I've been thinking about this a chunk more. The embedded folks have been
having a related argument about SA_EDGE and SA_LEVEL or similar. On some
embedded platforms the driver really has to pass this information
according to the board configuration.
Trying to guess the current IRQ level v edge on a PC is very hard.
Trying to set it correctly from the driver is rather easier.
^ permalink raw reply
* [Bluez-devel] obtainining client BTADDR during obexserver (1.0-3) session?
From: JP Freeley @ 2006-04-29 21:12 UTC (permalink / raw)
To: bluez-devel
How would I obtain the BTADDR of the connecting remote device when it
connects to obexserver (1.0-3)? I would like the server to accept a
file, parse it and reply accordingly to the device which sent it.
Any help, direction, pointers, snippets would be greatly appreciated.
Thanks,
jpf
-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel
^ permalink raw reply
* [KJ] Re: AMBtEiN new
From: Cathy Sickels @ 2006-04-29 21:06 UTC (permalink / raw)
To: kernel-janitors
[-- Attachment #1.1: Type: text/plain, Size: 565 bytes --]
Hi
V r I a A f G c R h A j
X t A c N i A l X l
C f I s A h L p I y S w
V q A r L h I y U x M f
http://www.sproutemlokvad.com
whee
aigrett
Hinduis
camphorate
juggler
I should tell you. He and our doctor are friends.
I know. Ivan told me. ... Alex, I want to get some things over to
you-Swaynes telephone book, his wallet, appointments schedule, stuff
like that. Ill wrap it all up and have one of Cactuss boys deliver the
package to your place, to the security gate. Put everything into your
high tech and see what you can find.
[-- Attachment #1.2: Type: text/html, Size: 2491 bytes --]
[-- Attachment #2: Type: text/plain, Size: 168 bytes --]
_______________________________________________
Kernel-janitors mailing list
Kernel-janitors@lists.osdl.org
https://lists.osdl.org/mailman/listinfo/kernel-janitors
^ permalink raw reply
* Re: [PATCH 11/16] libata-eh-fw: implement new EH scheduling via timeout
From: Alan Cox @ 2006-04-29 21:13 UTC (permalink / raw)
To: Jeff Garzik; +Cc: Tejun Heo, axboe, albertcc, lkosewsk, linux-ide
In-Reply-To: <4450AC03.303@pobox.com>
On Iau, 2006-04-27 at 07:33 -0400, Jeff Garzik wrote:
> Well overall I want to minimize the change from existing behavior, since
> there is enough change as it is. In current libata and drivers/ide, it
> can continue after a properly indicated DMA error without doing a reset.
Sometimes. But the smarts in it also break some hardware horribly
because the properly indicated DMA error doesn't neccessarily leave the
state machines on the chip sane, and worse it sometimes does resets then
recovery and thats ugly.
> And I just think its rude, to reset hardware when it doesn't need
> resetting. Its sorta like the Windows mentality -- "just reboot it,
> that will fix stuff" Linux shouldn't be rude to hardware, when it need
> not be :)
Windows generally uses a 7 second timeout btw.
^ permalink raw reply
* Re: [RFC] make PC Speaker driver work on x86-64
From: Matthieu CASTET @ 2006-04-29 21:00 UTC (permalink / raw)
To: linux-kernel; +Cc: discuss
In-Reply-To: <200604291830.k3TIUA23009336@harpo.it.uu.se>
Hi,
Le Sat, 29 Apr 2006 20:30:10 +0200, Mikael Pettersson a écrit :
>
> Is there a better way to do this? ACPI?
>
Yes, I believe using PNP layer (that use ACPI with pnpacpi) with PNP0800
will be cleaner.
Matthieu
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.